0

さて、配列と for ループを使用して 7 つの異なるラベル名を付けようとしています。

コード:

id huller[] = {hul18.text, hul17.text, hul16.text, hul15.text, hul14.text, hul13.text, hul12.text, hul11.text, hul10.text, hul9.text, hul8.text, hul7.text, hul6.text, hul5.text, hul4.text, hul3.text, hul2.text, hul1.text};

for (int i = 0;  7 > i; i++) {
    huller[i] = [NSString stringWithFormat:@"%i", x + 1];
    NSLog(@"%@", huller[i]);
}

名前は NSLog で変更されますが、シミュレーターでは変更されません。なにが問題ですか?

4

2 に答える 2

0

テキストも変更したい場合は、テキストを手動で設定する必要があります。

NSArray *labels = //Array of labels;
for (int i = 0;  7 > i; i++) {
    huller[i] = [NSString stringWithFormat:@"%i", x + 1];
    labels[i].text = huller[i];
    NSLog(@"%@", huller[i]);
}
于 2012-10-28T13:27:09.010 に答える
0

hul18、hul17 などがすべて UILabel オブジェクトであると仮定すると、次のようになります。

NSArray *labels = [ hul18, hul17, hul16, hul15, hul14, hul13, hul12, hul11, hul10, hul9, hul8, hul7, hul6, hul5, hul4, hul3, hul2, hul1 ];

// Change the text of every label in the array
for (int i = 0;  i < labels.count; i++) {
    UILabel *label = labels[i];
    label.text = [NSString stringWithFormat:@"%i", x + 1]; // Do you really want 'x' here or 'i'?
    NSLog(@"%@", label.text);
}
于 2012-10-28T15:54:09.827 に答える