如何向 IBOutletCollection 添加对象?
我在我的类中声明了 NSArray,
NSArray *labelsArray;
我将其设置为一个属性
@property (nonatomic,retain) IBOutletCollection(UILabel) NSArray *labelsArray;
,并将其连接到 IB 中的四个 UILabels。我分配了数组。当我这样做时,
NSLog(@"labelsArray.count %i",[labelsArray count]);
它告诉我 labelsArray 的计数为 0。我应该怎么做才能将这些标签实际添加到数组中?
I declared NSArray in my class
NSArray *labelsArray;
I made it a property
@property (nonatomic,retain) IBOutletCollection(UILabel) NSArray *labelsArray;
I connected it to four UILabels in IB. I allocated the array. When i do this
NSLog(@"labelsArray.count %i",[labelsArray count]);
It tells me that labelsArray's count is 0. What should i do to actually add those labels to the array?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
加载 NIB 文件时,该数组可能会自动实例化,并且重新分配它会创建该数组的新(空)版本。尝试不分配它。还要确保在加载 IB 元素时在
viewDidLoad
中对数组进行 NSLog。It could be that the array is automatically instantiated for you when the NIB file is loaded and that reallocating it creates a new (empty) version of the array. Try not allocating it. Also make sure you NSLog the array in
viewDidLoad
, when the IB elements are loaded.你在哪里调用 NSLog 语句?在调用 viewDidLoad 之前,该数组不会被实例化。
Where are you calling the NSLog statement? The array will not be instantiated until viewDidLoad is called.