2011-08-29 77 views
0

呃,在這裏遇到一些麻煩......UILabel的變量IBOutlet名稱?

我在界面生成器中有4個顯示標籤,在視圖控制器中設置爲IBOutlets。

我已對其進行設置這些名字 LABEL1,LABEL2,LABEL3,label4

我想更改標籤文本隨機選擇的標籤

我想這個.. 。

在頭文件中聲明我作爲一個屬性:

@property (nonatomic retain) UILabel *myLabel; 

然後在我的執行文件I合成和我想要

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

myLabel.text = @"bleh!"; 

myLabel = [UILabel ...行導致崩潰。任何幫助?謝謝!

+0

告訴我們,你認爲這條線應該做什麼? –

回答

2

你有正確的想法,但你應該通過valueForKey:self,而不是UILabel,假設它擁有這些屬性的self

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

作爲一個方面說明,這可能會更好地完成與IBOutletCollection。在Xcode 4中,選擇所有標籤並將它們拖到頭文件中。這將生成包含所有插座的IBOutletCollection NSArray。然後你可以從該數組中選擇一個隨機索引。通常不幸的是,IBOutletCollection以非確定性順序存儲其銷售點,但對於您的情況應該沒問題。

+0

謝謝,工作很好。我也會看IBOutletCollection – sayguh