IBoutlet UITableView连接的问题

时间:2010-01-25 17:22:14

标签: iphone uitableview iboutlet

我遇到IBoutlet UITableView连接问题。看来IBOutlet没有连接到TaleView。 我将delgate和datasource设置为文件所有者,并将iboutlet设置为nib中的tableview。 tableview已初步完成。我只是想做一些reloadData而且它不起作用。我尝试做一些deselectRow只是为了看看它是不是reloadData问题但它没有取消选择所以我假设iboutlet与我的tableview没有关联。此表视图位于一个名为modalViewController的viewcontroller中。

这是一些代码: 我的.h文件:

@interface AddEditProjectsViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UITextViewDelegate, UIAlertViewDelegate>{

IBOutlet UITableView *addEditProjectTable;
}

@property(nonatomic,retain)IBOutlet UITableView * addEditProjectTable;

@end

我的.m文件:

- (void)viewWillAppear:(BOOL)animated {

(...)

[addEditProjectTable reloadData];

[super viewWillAppear:animated];

感谢您的帮助! :)

4 个答案:

答案 0 :(得分:0)

您是否实际实现了数据源并委托了诸如cellForRowAtIndexPath之类的方法?

答案 1 :(得分:0)

不确定这是否会导致您的问题,但

[super viewWillAppear:animated];
应该在你自己的代码之前调用

答案 2 :(得分:0)

你说,“似乎IBOutlet没有连接到TaleView。”然后你说,“并将iboutlet设置为笔尖中的tableview。”在“将iboutlet设置为nib中的tableview”后,它是否仍未连接?您可以通过在选择了tableview时查看IB中的检查器中的“连接”选项卡来验证这一点。您应该看到所有连接(数据源,委托和出口)。如果它未连接且不允许您将tableview连接到插座,请尝试重新启动IB和Xcode。

如果有连接,那么您还有其他问题。在这种情况下,尝试从“基于导航的应用程序”模板创建一个新项目,看看它是否按预期工作。然后将您的代码与之比较,问题应该出现。

致以最诚挚的问候,

答案 3 :(得分:0)

我用这种方式调用模态视图:

if (self.addEditTasksController == nil) {
        AddEditTasksViewController *addEditTaskCont = [[AddEditTasksViewController alloc] initWithNibName:@"AddEditTasksViewController" bundle:nil];
        self.addEditTasksController = addEditTaskCont;
        [addEditTaskCont release];
    }
    [self presentModalViewController:addEditTasksController animated:YES];

每次调用viewdidload作为viewWillAppear。

感谢。