forループを使用して非表示にしたいさまざまなUILabelsがあります。NSMutableArrayのすべてのUILabelsを非表示にする
@interface MyViewController : UIViewController {
NSMutableArray * labelArray;
}
@property (nonatomic, retain) IBOutlet UILabel *label1, *label2, *label3;
...
-(void)viewDidLoad {
[super viewDidLoad];
[labelArray initWithObjects:label1,label2,label3,nil];
for(int i=0; i<sizeof(labelArray); i++){
UILabel *label = [labelArray objectAtIndex:i];
label.hidden = !label.hidden;
}
}
これを実行すると、ラベルは非表示になりません。彼らはInterface Builderで "結びついている"。私は間違って何をしていますか?ありがとう!
1.あなたはalloc'd labelArrayでしたか? 2. sizeof(labelArray)ではなく、[labelArray count]を使用してインデックス範囲を決定します。 labelArrayがポインタで、sizeof()がポインタのサイズを返すことを忘れないでください。 – viggio24