我正在尝试声明一个IBOutletCollection。我想要做的是管理多个按钮,而不必逐个声明它们。
#import <Foundation/Foundation.h>
@interface WindowManager : NSObject
{
@private
IBOutlet NSTextField* textField;
IBOutletCollection (NSButton) NSArray* buttonsArray;
}
@property (nonatomic , retain) IBOutletCollection (NSButton) NSArray *buttonsArray;
- (void) awakeFromNib;
@end我得到以下错误:
type name requires a specifier or qualifier
expected ; at end of declaration我不明白其中的原因。我想要有这样的情况:当.xib文件被加载时,我将所有的按钮都放在一个NSArray中,这样我就能够管理them.Everytime一个按钮被按下了,我想知道哪个按钮被按下了。这有可能吗?问题是我只找到了iPhone指南,我在iPhone指南上找到了一个类似于这个代码的例子,说这个东西是有效的。
发布于 2012-03-19 21:32:27
我建议使用IBAction:
-(IBAction)button_Clicked:(id)sender;原因是按下的按钮是新闻事件的“发送者”。通过这种方式,您将始终知道实际按下了哪个按钮。如果你想让它更容易识别,你可以为按钮设置'Tag‘属性,这样你的实现文件就会如下所示:
-(IBAction)button_Clicked:(id)sender {
switch([sender tag]) {
case 1:
// do stuff
break;
//etc.....
default:
break;
}
}您可以指定任意数量的控件来使用该操作。我希望这能帮到你。
https://stackoverflow.com/questions/9771025
复制相似问题