0

我遇到了一种情况,我正在使用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

作为singletone对象是永远不会被摧毁,如果它被保留,你不应该关心或不

+0

我应该使用自己的,而不是weakSelf? –

+0

当然。为什么不?你不关心它的保留数量。它永远住在 –

+0

或者你可以使用weakSelf,如果你愿意。它不会改变一件事情 –

相关问题