UITableView Делегирование Назначение EXC_BAD_ACCESS - PullRequest
1 голос
/ 16 июня 2011

В моей программе для iphone есть представление Xib с добавленным представлением таблицы. Я вложил в класс UITableViewController и пытаюсь заставить UITableView в xib отправлять ему сообщения. Программа вылетает, когда я касаюсь строки таблицы.

Правильно звонит:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{}

и cell.textLabel.text назначен правильно.

Фрагмент интерфейса:

@interface PlayersDrawsViewController : UIViewController {
    UITableView *uitableView;
    PlayersToDrawTableViewController *pvc;
}
@property (nonatomic, retain) IBOutlet UITableView *uitableView;
@property (nonatomic, retain) IBOutlet PlayersToDrawTableViewController *pvc;

Фрагмент реализации:

- (void)viewDidLoad
{
    // Setup TableView
    if (pvc == nil) {
        pvc = [[PlayersToDrawTableViewController alloc]
               initWithNibName:@"PlayersToDrawTableViewController" bundle:nil];
        /* works great, loads rows */
        self.uitableView.dataSource = pvc.tableView.dataSource;
        /* EXC_BAD_ACCESS when didSelectRowAtIndexPath is called */
        //self.tableView.delegate = pvc;

    }
}

Мой подкласс UITableViewController:

@interface PlayersToDrawTableViewController : UITableViewController 
    <UITableViewDelegate>
    {
    }

    @end

Как я могу подключить делегата, чтобы он не зависал при отправке сообщений?

Я читал эти темы, и я либо тупой, либо они не отвечают на мой вопрос:

Проблема UITableView при использовании отдельного делегата / источника данных

UITableView суперкласс для делегата?

Получение «EXC_BAD_ACCESS» при доступе к переменной экземпляра из метода делегата UITableView

didSelectRowAtIndexPath создает EXC_BAD_ACCESS, в то время как willSelectRowAtIndexPath работает нормально UITableView

1 Ответ

2 голосов
/ 16 июня 2011

Если эта строка падает с EXC ..:

self.tableView.delegate = pvc;

... вы где-нибудь подключили ссылку на tableView? В вашем фрагменте кода "нет" - но, может быть, вы сделали в NIB?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...