我正在尝试重构我的代码,使用对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还是有更好的解决方案?
答案 0 :(得分:-1)
您可以使用内联静态方法让它随处可用。
例如,在你的AppDelegate.h中,创建一个这样的函数,你可以在任何地方使用它。
static inline BOOL myTestMethod(NSString *aString, NSInteger anInteger) {
...
}
然后在您的实施中,您将其称为:BOOL rep = myTestMethod(@"foo", 1);
不要忘记在您要使用该功能的文件中#import您的标题。