我有几个IBOutlet并将它们与IBOutletCollection一起使用:
@interface IBOutletCollectionViewController : UIViewController {
IBOutletCollection (UILabel) NSArray *multipleLabels;
}
@property (nonatomic , retain) IBOutletCollection (UILabel) NSArray *multipleLabels;
@end
但是当我想使用UILable属性时,编译器会给出这个错误:
请求成员'textColor' 不是结构或联合的东西
我认为这是因为NSArray!那有什么解决方案吗?
答案 0 :(得分:12)
您可以使用Key-Value Coding在数组中的每个标签实例上设置属性:
[multipleLabels setValue:[UIColor redColor] forKey:@"textColor"];
“IBOutletCollection(UILabel)”可以在iVar声明中省略,只要它在属性声明中使用即可。
另一种选择是在NSArray实例上调用“makeObjectsPerformSelector:”:
[multipleLabels makeObjectsPerformSelector:@selector(setTextColor:) withObject:[UIColor redColor]];