gpt4 book ai didi

objective-c - 语法错误: IBOutletCollection

转载 作者:行者123 更新时间:2023-12-03 17:58:46 27 4
gpt4 key购买 nike

我正在尝试声明 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 中,以便我能够管理它们。每次按下按钮时,我想知道按下了哪个按钮。有可能吗?问题是我只找到iPhone指南,我在iPhone指南上找到了类似于此代码的示例,说这个东西有效。

最佳答案

我建议使用 IBAction 代替:

-(IBAction)button_Clicked:(id)sender;

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

-(IBAction)button_Clicked:(id)sender {
switch([sender tag]) {
case 1:
// do stuff
break;
//etc.....
default:
break;
}
}

您可以分配任意数量的控件来使用该操作。我希望这会有所帮助。

关于objective-c - 语法错误: IBOutletCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9771025/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com