Проблема с данными iPhone UITableController - PullRequest
0 голосов
/ 16 февраля 2011

Я новичок в разработке для iPhone, и недавно я столкнулся с очень странной проблемой с UITableController.Я реализовал очень простую программу с UITableController, где он имеет источник данных массива TestClass, где TestClass - это простой класс, который я определил и содержит только атрибут NSString.Проблема в том, что я могу отобразить таблицу, но когда я выбираю ячейку и перехожу к методу didSelectRowAtIndexPath, мой источник данных больше не может быть найден.И моя программа работает хорошо, если я переключаю источник данных на массив NSString вместо самоопределенного класса.В чем проблема?

- (id)initWithStyle:(UITableViewStyle)style {
    if (self = [super initWithStyle:style]) {
        self.title = @"TV Shows";
        self.navigationItem.backBarButtonItem.title = @"Shows";
        self.t = [NSArray arrayWithObjects:[[TestClass alloc] initWithTest:@"test"], nil];
    }
    return self;
}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    **NSLog(t); //NSException here**
    TVAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
    delegate.selectedShow = indexPath;
    ShowCharactersTableViewController *showCharactersController = [[ShowCharactersTableViewController alloc] initWithStyle:UITableViewStylePlain];
    [[delegate navigationController] pushViewController:showCharactersController animated:YES];
    [showCharactersController release];
}

1 Ответ

0 голосов
/ 16 февраля 2011

Попробуйте:

NSLog(@"%@",t);

Будет напечатано описание объекта t.Это не буквальная строка, поэтому она не может быть записана напрямую, вы должны использовать формат.(Разве вы не получили предупреждение?)

...