Я хочу изменить текст UILabel. Но текст одинаковый для 3 меток, поэтому мне интересно, могу ли я сделать что-то вроде хранения экземпляра соответствующего UILabel и написать общий формат строки для изменения текста.Как изменить текст UILabel динамически?
Так вот мой IBOutlet:
@property (strong, nonatomic) IBOutlet UILabel *pushupDetails;
@property (strong, nonatomic) IBOutlet UILabel *situpDetails;
@property (strong, nonatomic) IBOutlet UILabel *runDetails;
Это то, что я надеюсь достичь (упрощенно):
-(void)updateDetailText:(NSArray *)results station:(int)station {
UILabel *templabel;
switch (station) {
case 0:
templabel = [self.pushupDetails mutableCopy];
break;
case 1:
templabel = [self.situpDetails mutableCopy];
break;
case 2:
templabel = [self.runDetails mutableCopy];
break;
default:
break;
}
templabel.text = [NSString stringWithFormat:@"You need %d - %d reps", 10, 50];
}
Однако аварийное завершение программы с
-[UILabel mutableCopyWithZone:]: unrecognized selector sent to instance 0x10b82b920
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UILabel mutableCopyWithZone:]: unrecognized selector sent to instance 0x10b82b920'
моментом выполняется mutableCopy. Можно ли достичь того, чего я хочу, или мне нужно писать каждое отдельное изменение текста отдельно?