我只想添加带有setAction参数的NSButton。
NSRect frame = NSMakeRect(10, 40, 90, 40);
NSButton* pushButton = [[NSButton alloc] initWithFrame: frame];
[pushButton setTarget:self];
[pushButton setAction:@selector(myAction:)];
Run Code Online (Sandbox Code Playgroud)
但是我想对函数myAction设置参数
。
谢谢。
但是我想对函数myAction设置参数
。
你不能
…如果使用此方法的按钮不止一个,我们将无法区分发送者(仅带有标题)...
有三种方法可以确定哪个按钮(或其他控件)正在与您对话:
sender与每个插座进行比较。标签的问题是上述重复性。忽略为每个标签命名也很容易,因此您最终只能查看类似的代码,if ([sender tag] == 42)而又不知道/不必查找哪个控件是#42。
网点的问题在于您的操作方法可能会变得很长,并且无论如何可能正在做多种不同的事情,而同一方法中没有事务。(这也是标签的问题。)
因此,我通常更喜欢第三个解决方案。为每个将您作为目标的按钮(或其他控件)创建一个动作方法。您通常将方法和按钮命名为相同的名称(如save:“保存”)或非常相似的名称(如terminate:“退出”),因此只需阅读每个方法,便知道该按钮属于哪个按钮。
| 归档时间: |
|
| 查看次数: |
6076 次 |
| 最近记录: |