我遇到了一种使用sharedClass
的情况,在其中我使用块获取数据。有一个约定在块内部使用__weak引用来防止保留循环。如何创建一个在整个应用程序中保持活动状态的弱引用?
以下是我所做的代码,
+ (instancetype)sharedPresenter {
static PostCareListPresenter *presenterInstance;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
presenterInstance = [[PostCareListPresenter alloc] init];
});
return presenterInstance;
}
- (void)getPostCareList:(NSDictionary*)pParameterDictionary
success:(void(^)(NSData*responseData))pSuccessCallback
failure:(void(^)(NSError* error))pFailureCallback {
[[GSWebAccessManager sharedManager] invokePostCareList:pParameterDictionary success:^(NSData *responseData) {
// Here I have to make a call to my private method using weak self. [weakSelf somePrvateMethod];
} failure:^(NSError *error) {
}];
}
答案 0 :(得分:0)
由于单个对象永远不会被破坏,所以你不应该关心它是否被保留