0

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

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

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

IBOutlet UITableView *addEditProjectTable;
}

@property(非原子,保留)IBOutlet UITableView *addEditProjectTable;

@结尾

我的 .m 文件:

- (void)viewWillAppear:(BOOL)animated {

(...)

[addEditProjectTable reloadData];

[super viewWillAppear:animated];

谢谢你的帮助!:)

4

4 回答 4

0

你有没有真正实现过cellForRowAtIndexPath之类的数据源和委托方法?

于 2010-01-25T17:30:00.987 回答
0

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

[super viewWillAppear:animated];

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

于 2010-01-25T17:30:28.550 回答
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。

谢谢。

于 2010-01-25T19:05:32.643 回答
0

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

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

此致,

于 2010-01-25T18:16:58.693 回答