Доступ к тексту из UILabel, который установлен как AccessoryView для UITableView

UITableView использует UILabel как его Accessory View,

Используя следующий код, я могу получить UILabel но я не могу понять, как получить доступ к тексту в одиночку:

NSLog(@"text label: %@",[[self.frequencyTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]] accessoryView]);

ЖУРНАЛ:

2014-04-15 12:50:16.433 SmartWatch[2771:70b] text label: <UILabel: 0xfb81870; frame = (205 4; 60 20); text = '12:50 PM'; clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0xfb619d0>>

Я хочу получить только текст (12:50 PM). Спасибо!

2 ответа

Решение
NSLog(@"text label: %@",((UILabel*)[[self.frequencyTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]] accessoryView]).text);

Тем не менее, это не совсем безопасно, я считаю, что было бы лучше получить прямой доступ к вашей модели, когда вы устанавливаете вспомогательный вид, вы должны сделать что-то вроде:

UILabel *label = [[UILabel alloc] init];
label.text = [someArray objectAtIndex:indexPath.row];
cell.accessoryView = label;

И если вы хотите, чтобы текст просто получить его прямо из вашего массива

NSLog(@"text label: %@",[someArray objectAtIndex:0]);

Попробуй это

NSLog(@"text label: %@",((UILabel*)[[self.frequencyTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]] accessoryView]).text);
Другие вопросы по тегам