首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebAPI返回时更新内容的适当方法

WebAPI返回时更新内容的适当方法
EN

Stack Overflow用户
提问于 2013-07-15 06:44:52
回答 2查看 47关注 0票数 2

我有一个Web类,它处理项目中的所有网络通信和下载。我的项目包含集合视图和表视图,只要下载完成,就会更新它们。

我处理这件事的方式很难看。

我将对集合视图/表视图的引用传递给WepAPI.m中的方法。无论何时完成下载,我都会使用这些引用将新对象插入到视图中,并发送重新加载消息。

这是该走的路吗?我是否应该使用、KVO、或其他方法来代替?

我正在使用AFNetworking框架来处理我的网络通信

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-15 06:56:17

我会用积木。

例如:( WebAPI.h)

代码语言:javascript
运行
复制
typedef void (^SomeStuffBlock)(id someStuff);
- (void)getSomeStuffWithCompletion: (SomeStuffBlock)completion;

使用单例以便下载机保持在内存中。(把这个放到你的WebAPI.m中)

代码语言:javascript
运行
复制
+ (id)sharedInstance {
static dispatch_once_t once;
static id sharedInstance;
dispatch_once(&once, ^{
    sharedInstance = [[self alloc] init];
});
return sharedInstance;

}

打电话是这样的:

代码语言:javascript
运行
复制
[[WebAPI sharedInstance] getSomeStuffWithCompletion: ^ (id someStuff) {
    //Make changes to your views here
}

这将确保在其相应的视图控制器中完成您所做的视图更改。

票数 2
EN

Stack Overflow用户

发布于 2013-07-15 06:56:13

一个简单的模式应该是使用两个单子:

  • 一个ConnectionManager,它处理auth、超时值、解析、
  • 一个DataManager,它要求ConnectionManager获取端点并存储解析的结果。

然后,您可以使用KVO (或NSNotifications)侦听DataManager单例的任何更新。

这种方法非常简单,并为所涉及的每个组件提供了相当多的可重用性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17648183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档