UITableView委托分配EXC_BAD_ACCESS

时间:2011-06-15 23:17:11

标签: iphone uitableview delegates

我的iphone程序有一个Xib视图,其中有一个tableview。我已经将UITableViewController子类化了,并试图让xib中的UITableView发送消息。当我触摸tableview行时程序崩溃。

它正确地调用:

- (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 issue when using separate delegate/dataSource

UITableView superClass for delegate?

Getting “EXC_BAD_ACCESS” when accessing instance variable from within UITableView delegate method

didSelectRowAtIndexPath generates EXC_BAD_ACCESS while willSelectRowAtIndexPath works fine UITableView

1 个答案:

答案 0 :(得分:2)

如果此行与EXC ..:

崩溃

self.tableView.delegate = pvc;

...你在某处挂了tableView参考吗?在你的代码片段中“不” - 但也许你在NIB中做过?