我有以下CCMenuItem:
menuItem = [CCMenuItemImage itemWithNormalImage:@"example.png" selectedImage:@"example2.png" disabledImage:@"example3.png" block:^(id sender) {
// do some important things.
}];
其中menuItem是全局实例变量。
有没有办法以编程方式调用menuItem的块代码?或者我必须在那里包装另一个函数,然后调用它? e.g。
menuItem = [CCMenuItemImage itemWithNormalImage:@"example.png" selectedImage:@"example2.png" disabledImage:@"example3.png" block:^(id sender) {
[self doThings];
}];
...
- (void) doThings {
// do some important things.
}
我更愿意以编程方式调用块代码。
答案 0 :(得分:2)
您可以致电:
[menuItem activate];
将调用块或回调。这种方法唯一需要注意的是,要使用vanilla框架方法,不得禁用菜单项。 (必须有menuItem.isEnabled = YES)
我更喜欢使用你的第二种方法,并使用一种包装方法并在外部调用,正是因为我提到的警告。