我现在正在做一个大项目,该应用程序正在利用许多不同的服务,例如:评论、喜欢、帖子、购买等等。
我为每项服务都有一个类。
现在,我想限制注册用户的某些操作,例如发布、评论等。
到目前为止,每个类都使用只有类方法,如下所示:
@interface UpdateOrderServies : NSObject
+(void)deleteOrder: (STOrder *)order
andReturn: (void(^)(NSError *error))errorBlock;
+(void)updateOrder: (STOrder *)order
andReturn: (void(^)(NSError *error))errorBlock;
但是现在,我想先检查用户是否已注册,如果没有,则不返回值。所以我想出的最好方法是将课程更改为单音,并在每次调用课程时询问用户是否像这样注册:
+(id) getInstance {
static UpdateOrderServies *__sharedDataModel = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
__sharedDataModel = [[UpdateOrderServies alloc]init];
});
if (![__sharedDataModel userIsRegisterd]) {
return nil;
}
return __sharedDataModel;
}
它可以工作,但是,正如你所看到的,它不是一个很好的答案。我想要更通用的东西。我正在考虑使用 Typhoon 依赖注入,但是如果用户已注册,我没有地方可以检查每个调用......有什么更好的方法来处理这个问题吗?更有活力...