好吧Objective-C: Calling selectors with multiple arguments的作品,但我怎么能做到这一点与addTarget:action:forControlEvents:
为UIButton
?没有一个有withObject:
我不认为......我该怎么办?@选择器与多个国脚
-2
A
回答
0
一种可能性是创建一个自定义的UIButton,扩展包含你需要传递,在创建按钮时设置按钮的那个属性,然后访问它的动作被称为后的所有属性界面。例如:
@interface UIButton (additions)
@property NSString * customPropertyString;
@end
然后,添加目标和选择的通常方式:
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
最后,该处理方法的实现:
- (void)buttonPressed:(id)sender
{
UIButton * senderButton = (UIButton *)sender;
NSLog(@"%@", senderButton.customPropertyString);
}
1
如果你想传递对于UIButton
多个arugment你应该通过一个Dictionary
arugment
有2种方式处理:
- 您可以使用一个实例变量来保存您要使用的值。
例如:
- (void)buttonPressed:(id)sender
{
NSMutableDictionary *argDictionary = _ivar;
}
2.You可以使用类别伪造的属性。
如何捏造类别的属性,你可以看到:http://oleb.net/blog/2011/05/faking-ivars-in-objc-categories-with-associative-references/
,然后你可以使用:
- (void)buttonPressed:(UIButton *)sender
{
// use sender.argDictionary to get your fake property
}
更多信息,你可以看到my answer before
相关问题
- 1. CSS选择器与多个类别
- 2. Xamarin的国家选择器
- 3. WPF颜色选择器/轮子与多个选择
- 4. 无法取消选择“选择多个”与选择计数器选项和optgroups
- 5. 多个选择与下拉
- 6. 将多个选择器与筛选器结合使用
- 7. Jquery - 多个选择器
- 8. jQuery多个'或'选择器
- 9. jQuery Animate多个选择器
- 10. 的jQuery多个选择器(
- 11. 与国内例外选择第
- 12. Sql脚本 - 选择多个表
- 13. SQLite脚本从多个表中选择
- 14. 单选addEventListener与多个选择
- 15. CSS HTML选择器与类选择器
- 16. SQL与多个行选择一个ID
- 17. MVC3 +日期选择器+英国日期
- 18. 原生iOS国家选择器
- 19. 与“多”时,选择
- 20. 多个选择wheres与一个选择在哪里或
- 21. 选择器与Xamarin.Forms与数字两个选择列
- 22. DropdownList与多选择选项?
- 23. 设定选择的项目MD-选择与多个选项
- 24. jquery选择:填充多个选择与选项卡按钮
- 25. 如何根据国家选择的轨道选择国家?
- 26. CSS多个子选择器vs单标签选择器性能
- 27. 更改选择输入选择国家?
- 28. 从国家选择器隐藏当前国家
- 29. 选择国家和国家代码?
- 30. 选择的外国表中的多个时间相同的列