Как правильно установить текст UILabel, который является частью IBOutletCollection
У меня есть серия UILabels, которые являются частью IBOutletCollection
@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *labelCollection;
Я последовательно установил теги UILabels на 0,1,2,3 ... и отсортировал *labelCollection по номеру тега. Таким образом, объект '0' в массиве IBOutletCollection является UILabel с тегом '0' и т. Д.
Используя следующую функцию, я могу обновить текст UILabel в определенном объекте / теге:
- (void) updateLabelAtTag:(int)objId {
[[self.labelCollection objectAtIndex:objId] setText:@"my new text"];
}
}
Это работает нормально, однако, когда вы нажимаете на setText: в IDE, Xcode Quick Help жалуется
setText:
@property(nonatomic, copy) NSString *text
iOS (2.0 and later)
Deprecated: Use the textLabel and detailTextLabel properties instead.
The text of the cell.
UITableViewCell.h
Что касается меня, я не могу понять, как UITableViewCell имеет отношение к этой ситуации. Я, конечно, не могу получить доступ к свойствам textLabel или detailTextLabel.
Вопрос: Я использую устаревшее свойство, или XCode неправильно в этом случае?
1 ответ
Решение
Xcode. Я подозреваю
[(UILabel *)[self.labelCollection objectAtIndex:objId] setText:@"my new text"];
сделает это уйти.