首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按钮的NSMutableSet错误“NSMutableSet”不是受支持的集合类。NSArray的期望子类

按钮的NSMutableSet错误“NSMutableSet”不是受支持的集合类。NSArray的期望子类
EN

Stack Overflow用户
提问于 2013-11-10 01:09:10
回答 1查看 323关注 0票数 1

我认为这是非常直接的,但我不知道我做错了什么。我试图给多个按钮一个边框,尽管我不断地得到一个错误:

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

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

代码语言:javascript
复制
@property (retain, nonatomic) IBOutletCollection(UIButton) NSMutableSet* btn;

我已经把这个和我的XIB上的按钮联系起来了。

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

代码语言:javascript
复制
- (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];
    }

}

如果你能帮忙的话谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-10 02:18:03

我想明白了,但是是否有一种更整洁的方法在.m文件中编写代码呢?

以下是.h文件代码:

代码语言:javascript
复制
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *btn;

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

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

}

但是有这么多括号:是否有一种更简单的方法在下面写?:

代码语言:javascript
复制
    [[[self.btn objectAtIndex:i]layer] 
     setBorderColor:[UIColor blackColor].CGColor ];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19885129

复制
相关文章

相似问题

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