2016-11-23 126 views
0

我已經通過方法作爲塊,我的功能是這樣的。iOS塊成爲殭屍

- (void)setPhoneNumber:(NSString *)phoneNo andView:(UIView *)view andSuccessBlock:(void (^)(id responseObject))successBlock andFailureBlock:(void (^)(NSString *errorMsg, NSInteger errorCode, AFHTTPRequestOperation *operation, NSError *error))failureBlock { 

} 

我打電話是這樣的。

[[WSHelper sharedInstance] setPhoneNumber:phoneNumber andView:nil andSuccessBlock:^(id responseObject) { 

    } andFailureBlock:^(NSString *errorMsg, NSInteger errorCode, AFHTTPRequestOperation *operation, NSError *error) { 

    }]; 

問題是,當我檢查successBlock,它被釋放(我正在使用弧,不應該像那樣釋放)。我試過typedef,也不行。在我的其他項目中,這工作正常,但只在這裏,這是不好的。我該如何解決?

(LLDB)PO successBlock
0x00000001078063c0

回答

0

你還沒有添加的塊中的代碼。但我想知道是否有內容引起循環引用。我會嘗試分配應用程序,記錄打開的所有保留。這將向您顯示保留的發生地點,哪些(有點運氣)會指出問題所在。

+0

讓我檢查一下。希望它能解決。 –