多个对象上的选择器

时间:2014-09-15 12:46:13

标签: ios objective-c macos

目标c中是否有任何规定,以便我可以在多个对象上调用相同的选择器 像jQuery这样的东西。我引用了这个link但它要求数组中的所有对象都调用选择器 makeObjectsPerformSelector
例如,我有以下代码:

[_addButton setTarget:myObject];
[_deleteButton setTarget:myObject];
[_editButton setTarget:myObject];

到一行像

[_addButton, _deleteButton, _editButton setTarget:myObject];

我知道它在语法上对objective-c没有任何意义,但是有什么诀窍吗?

2 个答案:

答案 0 :(得分:2)

我更喜欢积木。

[@[self.addButton, self.deleteButton, self.editButton] enumerateObjectsUsingBlock:^(UIButton* btn, NSUInteger idx, BOOL *stop){
    btn.target = myObject;
}];

答案 1 :(得分:1)

您可以轻松地将对象放在临时数组中并使用makeObjectsPerformSelector,如下所示:

[@[_addButton, _deleteButton, _editButton] makeObjectsPerformSelector:@selector(setTarget:) withObject:myObject]