1

我认为这很简单,但我不确定我做错了什么。尽管我不断收到错误消息,但我正在尝试为多个按钮提供边框:

'NSMutableSet' 不是受支持的集合类。NSArray 的预期子类。

这是我在 .h 文件中的代码:

@property (retain, nonatomic) IBOutletCollection(UIButton) NSMutableSet* btn;

我已将此链接到我的 XIB 上的按钮。

在我的 .m 文件中,我将它放在 viewDidLoad 中:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    for (UIButton *b in self.btn) {

        b.layer.borderWidth=1.0f;
        b.layer.borderColor=[[UIColor blackColor] CGColor];
    }

}

如果你能帮忙,谢谢。

4

1 回答 1

0

我想通了,但是有没有一种更简洁的方法可以在 .m 文件中编写代码?

这是.h文件代码:

@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *btn;

在 .m 文件中,我这样做了:

for (int i=0; i < [self.btn count]; i++)
{
    [[[self.btn objectAtIndex:i]layer] setBorderWidth:1.0f];

    [[[self.btn objectAtIndex:i]layer] setBorderColor:[UIColor blackColor].CGColor ];        
}

}

但是有这么多括号:下面有没有更简单的写法?:

    [[[self.btn objectAtIndex:i]layer] 
     setBorderColor:[UIColor blackColor].CGColor ];
于 2013-11-10T02:18:03.213 回答