Iphone UILabel的变量IBOutlet名称?

Iphone UILabel的变量IBOutlet名称?,iphone,objective-c,ios,xcode4,Iphone,Objective C,Ios,Xcode4,呃,这里有点麻烦 我在Interface Builder中设置了4个显示标签,作为视图控制器中的IBOutlet 我已经用这些名字给他们安排好了 label1,label2,label3,label4 我想更改随机选择标签的标签文本 我正在尝试这个 在头文件中,我声明为属性: @property (nonatomic retain) UILabel *myLabel; 然后在我的实现文件中,我综合并尝试 myLabel = [UILabel valueForKey: [NSString str

呃,这里有点麻烦

我在Interface Builder中设置了4个显示标签,作为视图控制器中的IBOutlet

我已经用这些名字给他们安排好了 label1,label2,label3,label4

我想更改随机选择标签的标签文本

我正在尝试这个

在头文件中,我声明为属性:

@property (nonatomic retain) UILabel *myLabel;
然后在我的实现文件中,我综合并尝试

myLabel = [UILabel valueForKey: [NSString stringWithFormat:@"label%d", randomInt]];

myLabel.text = @"bleh!";

myLabel=[UILabel…行正在导致崩溃。需要帮助吗?谢谢!

您的想法是正确的,但是您应该将
valueForKey:
传递给
self
,而不是
UILabel
,假设其
self
拥有这些属性

myLabel = [self valueForKey:[NSString stringWithFormat:@"label%d", randomInt]];

作为补充说明,这可能最好使用
IBOutletCollection
来完成。在Xcode 4中,选择所有标签并将它们拖到头文件中。这将生成一个包含所有出口的
IBOutletCollection NSArray
。然后可以从该数组中选择一个随机索引。通常不幸的是
IBOutletCollSection
以不确定的顺序存储其门店,但对于您的情况,它应该可以。

告诉我们,您认为这条线应该做什么?谢谢,效果很好。我也会看看iBootleCollection