【发布时间】:2014-11-04 10:30:16
【问题描述】:
我正在尝试重构我的代码,使用对 url 的 POST 请求,解析 JSON 并做很多有用的事情。不幸的是,我需要在多个视图控制器中多次使用它。实现这一目标的最佳方法是什么?
我找到了一个变量的工作解决方案(每个 VC 中使用的全局变量)。 .m 文件看起来像:
#import "DataClass.h"
@implementation DataClass
@synthesize str;
@synthesize credits;
@synthesize points;
@synthesize globalName;
@synthesize questionsCount;
@synthesize wrongQuestionsCount;
@synthesize correctQuestionsCount;
static DataClass *instance = nil;
+(DataClass *)getInstance
{
@synchronized(self)
{
if(instance==nil)
{
instance= [DataClass new];
}
}
return instance;
}
每次我使用 getInstance 方法调用数据类对象来使用/修改变量时。 该方法现在获得了一些 NSString 参数并且还返回一个 NSString 。
所以我的问题是 .. 我可以使用同一个类来使我的 callPostURL 方法全局化并且可用于我的应用程序中的每个 VC 吗? 我应该使用 DataClass 还是有更好的解决方案?
【问题讨论】:
-
使用单例类来处理模型层及其相关任务是绝对正常的——我不建议使用出现在@David的答案中的解决方案,这对于这样的情况。
-
是的..即使看着 cmets(知道这是不对的)我尝试使用它,它给了我两个我最喜欢的 (LINK O MATCHER) 错误,我无法修复......所以我将等待更好的解决方案。
标签: ios objective-c methods global