我有一个模型Model
,它通过 JSON API 加载一些东西,然后我以某种方式在 UI 中显示它。假设一次只有一个current
实例(根据时间从服务器获取),所以我有一个看起来像这样的方法调用[Model current]
。
问题是我需要在数据加载时做一些事情,这导致我有两种可能的解决方案:
- 委派 - 就像
[Model currentWithDelegate:self]
我将在其上实现协议的地方self
会有回调 - 块 -
[Model currentWithSuccess:^(id response) { ... } error:^(NSError *error) { ... }]
由于我是一名 JavaScript/Ruby 开发人员,我很习惯这样做2.
,但考虑到在 iOS 上使用委托的频率,我在想这是否也是正确的方法?
在 iOS 上处理异步的事实标准或最佳实践是什么?还有其他更好的方法吗?