【发布时间】:2015-12-28 11:20:25
【问题描述】:
我们知道我们可以从普通方法中获取返回值,例如:
-(NSString*)ASimpleFunction:(NSString*)str{
return str;
}
调用这个:[self ASimpleFunction:@"abc"] 将返回 "abc"。
如果我在单例类中声明了它,这样我就可以在任何地方使用它:
+(NSString*)ASimpleFunction:(NSString*)str{
return str;
}
调用它:[Singleton ASimpleFunction:@"xyz"] 将返回 "xyz"。
因此,在 Singleton 类中声明的上述方法可以通过类名本身(即Singleton)从任何地方访问/重用。
同样,我想重用 AFNetworking 方法,我将传递 NSDictionary 的参数,NSString 用于 URL 等。但问题是 AFNetworking 的 Success and Failure 块不返回值。所以,我不能在成功时得到reponseObject,在失败时得到error。
我是否正确地编写相同的代码,即 url、参数、[success..]/[failure..] 为每个网络请求再次阻塞?
或者有没有好的建议架构可用?
P.S - 我用谷歌搜索了很多,但一无所获。
【问题讨论】:
-
你必须为它创建你自己的帮助类。你的学习将在未来帮助你。尝试搜索有关如何从块中获取数据...等。
-
这更像是一个设计问题。您可以创建自己的使用 AFNetworking 的 BaseConnection 类。然后创建形成类的子类并使用方法创建请求并从中获取完成块。
-
@AshishKakkad - 就在现场。我需要学习助手和块。下面几个答案,将尝试他们。谢谢!
标签: ios objective-c afnetworking