2016-11-23 4 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) ро successBlock
0x00000001078063c0

ответ

0

Вы не добавили код в блоках. Но мне интересно, если что-то там вызывает круговую ссылку. Я бы попробовал профилирование распределения приложения с записью всех сохраненных включений. Это покажет вам, где сохраняются записи, которые (с удачей) укажут, в чем проблема.

+0

Позвольте мне проверить. надеюсь, он должен решить. –

Смежные вопросы