我遇到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];
感谢您的帮助! :)
答案 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。
感谢。