UIAlertController处理程序变为零

时间:2015-11-13 11:57:49

标签: objective-c-blocks uialertcontroller uialertaction

我的应用中有一个"content_scripts": [{ "matches": ........., "js": .............., "all_frames": true }] ,所以每次按UIAlertController我都要显示提醒。我需要为特定的想法重新创建menuButton(它需要检查另一个_menuAlert的对象,这是未描述的)。因此,如果我保留action,但重新创建_shareAction,不知何故,它的处理程序将变为UIAlertController

我觉得缺少一些关于块的重要事项来理解为什么会发生这种情况。拜托,帮帮我理解。

有代码:

nil

menuAlert如何调用:

- (UIAlertController *)menuAlert
{
    _menuAlert = [UIAlertController alertControllerWithTitle:nil
                                                     message:nil
                                              preferredStyle:UIAlertControllerStyleActionSheet];

    @weakify(self);
    if (!_shareAction)
    {
        _shareAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"SHARE_BTN_TEXT", nil)
                                                style:UIAlertActionStyleDefault
                                              handler:^(UIAlertAction * _Nonnull action) {
                                                  @strongify(self);
                                                  [self.navigationController presentShareVCWithList:_list];
                                              }];
    }

    if (!_cancelAction) {
        _cancelAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"ALERT_CANCEL", nil)
                                                 style:UIAlertActionStyleCancel
                                               handler:nil];
    }


    [_menuAlert addAction:_shareAction];
    [_menuAlert addAction:_cancelAction];

    return _menuAlert;
}

0 个答案:

没有答案