for(int i = 0; i <= 3; i++) {
lblTeamName(i).text = @"something"; // 編譯錯誤:無法動態構造變量名
}
for (int i = 1; i <= 3; i++) {
NSString *key = [NSString stringWithFormat:@"lblTeamName%d", i];
UILabel *label = [self valueForKey:key]; // 運行時通過字符串鍵訪問屬性
label.text = @"something";
}
@property 並生成實例變量(或手動實現 valueForKey:)。@property (nonatomic, strong) IBOutletCollection(UILabel) NSArray *teamLabels;
// 在 Interface Builder 中將多個 Label 連接到此集合
for (UILabel *label in self.teamLabels) {
label.text = @"something";
}
此方式**編譯期類型安全**,無需字符串拼接,推薦用於 Interface Builder 佈局場景。