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

时间:2013-11-10 01:09:10

标签: objective-c cocoa-touch

我认为这很直接,但我不确定我做错了什么。 我试图给多个按钮一个边框虽然我一直在收到错误:

  

'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];
    }

}

感谢您的帮助。

1 个答案:

答案 0 :(得分: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 ];