可能我的问题会很愚蠢。AFNetworking和单身人士
我见过很多使用AFNetworking的应用程序的例子和教程。 其中许多使用创建单身客户端与REST服务器进行交互。 例如:
@interface APIClient : AFHTTPClient
+ (APIClient *)sharedClient;
@end
@implementation APIClient
+ (APIClient *)sharedClient {
static APIClient *sharedClient = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedClient = [[APIClient alloc] initWithBaseURL:[NSURL URLWithString:baseUrl]];
});
return sharedClient;
}
@end
但是,是否有安全的单身人士呢?如果我的应用程序是多线程的,那么有一个单例很方便吗?
EDIT
在这种tutorial使用类RestfulClass这是一个单。 它也用于委托来通知请求的结果。 使用委托.. ..这似乎不是最好的选择,如果你正在使用一个单身人士,这是我的想法是正确的吗?
假设我们有两个类:A和B 两者都使用单例,所以使用sharedClient
方法。 A和B可以将他们自己设置为委托...这是错误的,因为一个覆盖另一个... 所有方法都无法控制线程安全,这是正确的吗?
singleton是单个实例,可以由多个线程共享,这可以通过确保对象在线程中正确同步 (就像您的方法所做的那样)来完成。由于网络请求异步运行并支持并发操作,因此它在Cocoa中非常安全。 – 2014-08-27 12:02:06
我修改了我的问题。谢谢 – Safari 2014-08-29 10:38:25