Ios 具有异步下载数据的Init对象
我有一个需要用网络数据初始化的对象,如果没有下载的数据,它就没有意义。但在我看来,在其Ios 具有异步下载数据的Init对象,ios,objective-c,oop,asynchronous,initialization,Ios,Objective C,Oop,Asynchronous,Initialization,我有一个需要用网络数据初始化的对象,如果没有下载的数据,它就没有意义。但在我看来,在其init方法中执行异步网络调用并不是一个好主意,因为对象不会立即准备好供用户使用,并且可能会引起混乱。我是否应该只使用一个基本的init方法,该方法将alloc init其所有属性创建一个空对象,并使用其他(非init)方法从网络中填充数据,这些数据将由其他对象显式调用(例如使用此对象的视图控制器)?解决这个问题的好方法是什么?我认为解决方案来自于正确的代码运行顺序: 1) 转到网络并获取数据(此时显示用户活动
init
方法中执行异步网络调用并不是一个好主意,因为对象不会立即准备好供用户使用,并且可能会引起混乱。我是否应该只使用一个基本的init
方法,该方法将alloc init
其所有属性创建一个空对象,并使用其他(非init
)方法从网络中填充数据,这些数据将由其他对象显式调用(例如使用此对象的视图控制器)?解决这个问题的好方法是什么?我认为解决方案来自于正确的代码运行顺序:
1) 转到网络并获取数据(此时显示用户活动指示器)
2) 服务器返回响应->将响应提取到对象中
3) 显示数据或使用数据为什么不下载数据,将其临时存储在变量中,直到用其值初始化对象?对象用于什么?数据是什么?有意义吗/你能提前下载吗?下载数据时占位符对象有用吗?是否应该开始下载,然后异步返回整个对象?它是一个“用户”类,拥有并可以添加/删除好友。好友列表存储在后端,因此必须从网络填充
\u friends
属性。我想将我所有的后端逻辑封装在类中,这样视图控制器就不会麻烦它了。目前,我有一个init
方法,它alloc init
s属性、addFriend
和removeFriend
方法,还有一个getFriendsFromBackendWithCompletionHandler
方法。