1

我有以下 CCMenuItem:

    menuItem = [CCMenuItemImage itemWithNormalImage:@"example.png" selectedImage:@"example2.png" disabledImage:@"example3.png" block:^(id sender) {
        // do some important things.
    }];

其中 menuItem 是一个全局实例变量。

有没有办法以编程方式调用 menuItem 的块代码?还是我必须在其中包装另一个函数然后调用它?例如

    menuItem = [CCMenuItemImage itemWithNormalImage:@"example.png" selectedImage:@"example2.png" disabledImage:@"example3.png" block:^(id sender) {
        [self doThings];
    }];

    ...
    - (void) doThings {
      // do some important things.
    }

我宁愿只以编程方式调用块代码。

4

1 回答 1

2

您可以致电:

[菜单项激活];

这将调用块或回调。这种方法唯一需要注意的是,要使用 vanilla 框架方法,不得禁用菜单项。(必须有 menuItem.isEnabled = YES)

不过,我更喜欢使用您的第二种方法,并使用包装方法并在外部调用它,这正是因为我提到的警告。

于 2013-02-02T22:17:50.397 回答