2010-01-25 66 views
0

我遇到了IBoutlet UITableView连接问题。看起来IBOutlet没有连接到TaleView。 我将delgate和数据源设置为文件所有者,并将iboutlet设置为nib中的tableview。 tableview被很好的初始化了。我只是想做一些reloadData,它不工作。我尝试做一些deselectRow只是为了查看它是不是reloadData问题,但它不取消选择,所以我假设iboutlet不与我的tableview相关联。这个表视图位于一个称为modalViewController的视图控制器中。IBoutlet UITableView连接问题

下面是一些代码: 我.h文件中:

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

IBOutlet UITableView *addEditProjectTable; 
} 

@属性(非原子,保留)IBOutlet中的UITableView * addEditProjectTable;

@end

我.m文件:

- (void)viewWillAppear:(BOOL)animated { 

(...) 

[addEditProjectTable reloadData]; 

[super viewWillAppear:animated]; 

感谢您的帮助! :)

回答

0

您是否实际实现了数据源和委托方法,如cellForRowAtIndexPath?

+0

是的我实现了数据源和委托方法。我想要重新加载数据来改变页眉和页脚标题。 – ideafactory 2010-01-25 17:32:23

0

不知道这是否是引起您的问题,但

[super viewWillAppear:animated]; 

应该在自己的代码之前调用。

+0

我试过,但它不起作用:( 谢谢! – ideafactory 2010-01-25 17:33:47

0

你说:“看起来IBOutlet没有连接到TaleView。”然后你说,“并将iboutlet设置在笔尖的tableview中。”在“将iboutlet设置到笔尖中的tableview”后,它是否仍未连接?您可以通过查看IB中Inspector中的'连接'选项卡来验证这一点,同时选择表格视图。您应该看到所有连接(数据源,委托和出口)。如果它没有连接,它不会让你连接桌面视图到你的插座,请尝试重新启动IB和Xcode。

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

最好的问候,

+0

我期待在IB的连接,它的所有连接,代表,数据源和我的插座。 我的项目是基于导航的应用程序,但我设置此viewcontroller as modalview因为我不想把它设置为导航控制器 谢谢 – ideafactory 2010-01-25 18:30:58

+0

我只是建议你看看模板,以确保你设置它一样。你如何设置“这个viewcontroller作为modalview“?你打电话给presentModalViewController:animated:?你能显示你的模态视图表示代码吗?你有没有在viewDidLoad中设置一个断点来确保它被调用? – 2010-01-25 18:44:01

0

我打电话modalview这样:

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

的viewDidLoad中被称为每次为viewWillAppear中。

谢谢。