2016-11-23 11 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 { 

} 

私はこのように呼びます。

問題は、successBlockを確認すると解放されます(私は円弧を使用しており、そのように解放しないでください)。私はtypedefを試してみましたが、大丈夫ではありません。私の他のプロジェクトでは、これは問題なく動作していますが、ここでは大丈夫ではありません。どうすれば解決できますか?

(lldb)PO successBlock
0x00000001078063c0

答えて

0

あなたは、ブロック内のコードを追加していません。しかし、そこに何かが循環参照を引き起こしているのか疑問に思っています。私はすべての保持のログを有効にしてアプリをプロファイリングする割り当てを試みます。それは、保持がどこで発生しているかを示します。運が少しあり、問題の内容が示されます。

+0

私に確認させてください。うまくいけば解決します。 –

関連する問題