2010-01-25 5 views
6

Я в тупике (и, вероятно, слепой к чему-то невероятно очевидному). У меня есть UITableView, с которым я хочу делать ужасно нормальные вещи, например, отображать текст в каждой строке. Для этого я применил обычный метод делегирования tableView:cellForRowAtIndexPath:. Это называется ожидаемым. Согласно документам, я должен создать объект UILabel и установить его как свойство textLabel на новом UITableCell. Но я рушился с непризнанным селектором для setTextLabel: - компилятор должным образом предупреждает меня, что его там нет. Устаревший метод setText: присутствует и отлично работает (с предупреждением). Я определенно, кажется, строит против 3,0 библиотек (я не получаю выбор в выпадающем списке других целей. Так что я озадачен. Что я упускаю?Почему у моего UITableViewCell нет свойства textLabel?

Спасибо.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell * cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease]; 
    UILabel * label = [[[UILabel alloc] init] autorelease]; 
    [label setText:@"Foo."]; 
    [cell setTextLabel:label]; // BOOM. 
    return cell; 
} 

ответ

18

TextLabel свойство помечено только для чтения Вы должны были использовать

cell.textLabel.text = @ "какой-то текст";..

+0

D'oh. Благодаря... –

0

Вы можете использовать cell.textlabe l.text = [NSString StringWithFormat: @ "% d", yourint];

Смежные вопросы