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

标签 ios objective-c afnetworking

我有一个 Web API 类,用于处理我的项目中的所有网络通信和下载。我的项目包含 Collection View 和表格 View ,下载完成后它们就会更新。

我处理这个问题的方式感觉很丑陋。

我将对 Collection View / TableView 的引用传递给 WepAPI.m 中的方法。 每当下载完成时,我都会使用引用将新对象插入到我的 View 中并发送重新加载消息。

这是要走的路吗?我应该使用 KVO 或其他方法吗?

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

最佳答案

我会使用 block 。

例如:(在WebAPI.h中)

typedef void (^SomeStuffBlock)(id someStuff);
- (void)getSomeStuffWithCompletion: (SomeStuffBlock)completion;

使用单例以便下载器保留在内存中。 (将其放入您的 WebAPI.m 中)

+ (id)sharedInstance {
static dispatch_once_t once;
static id sharedInstance;
dispatch_once(&once, ^{
    sharedInstance = [[self alloc] init];
});
return sharedInstance;

}

调用方式如下:

[[WebAPI sharedInstance] getSomeStuffWithCompletion: ^ (id someStuff) {
    //Make changes to your views here
}

这可确保您所做的 View 更改在相应的 View Controller 中完成。

关于ios - WebAPI 返回时更新内容的适当方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17648183/

相关文章:

iphone - 对象-C : Creating an object with a String name

objective-c - AF 网络 2.0 : NSLocalizedDescription=Request failed: unacceptable content-type: text/html

ios - 维护 RKObjectManager/AFHTTPClient 请求排序

ios - 在 Swift 中打乱字符串

ios - 应用内购买

ios - map View 上的虚线

objective-c - 标签栏替换 View Controller

objective-c - 在 Swift 2 中子类化 AFHTTPSessionManager 的正确方法

ios - 如何防止 WKInterfaceController 滚动?

objective-c - 如何将子类添加为 subview ,以便将 subview 的背景设置在父 View 的前面