首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语法错误: IBOutletCollection

语法错误: IBOutletCollection
EN

Stack Overflow用户
提问于 2012-03-19 21:25:20
回答 1查看 532关注 0票数 0

我正在尝试声明一个IBOutletCollection。我想要做的是管理多个按钮,而不必逐个声明它们。

代码语言:javascript
复制
#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

我得到以下错误:

代码语言:javascript
复制
type name requires a specifier or qualifier

expected ; at end of declaration

我不明白其中的原因。我想要有这样的情况:当.xib文件被加载时,我将所有的按钮都放在一个NSArray中,这样我就能够管理them.Everytime一个按钮被按下了,我想知道哪个按钮被按下了。这有可能吗?问题是我只找到了iPhone指南,我在iPhone指南上找到了一个类似于这个代码的例子,说这个东西是有效的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-19 21:32:27

我建议使用IBAction:

代码语言:javascript
复制
-(IBAction)button_Clicked:(id)sender;

原因是按下的按钮是新闻事件的“发送者”。通过这种方式,您将始终知道实际按下了哪个按钮。如果你想让它更容易识别,你可以为按钮设置'Tag‘属性,这样你的实现文件就会如下所示:

代码语言:javascript
复制
-(IBAction)button_Clicked:(id)sender {
    switch([sender tag]) {
        case 1:
            // do stuff
            break;
        //etc.....
        default:
            break;
    }
}

您可以指定任意数量的控件来使用该操作。我希望这能帮到你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9771025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档