将故事板的UITableView连接到.m UIViewController作为IBOutlet

时间:2014-01-06 10:33:46

标签: ios objective-c xcode uitableview uistoryboard

我在Xcode中添加了一个UITableView到一个storyboard文件和相应的.m UIViewController(在属性检查器面板中设置为类类型)。我在UIViewController中有一个实例变量myTableView,我想将它分配给storyboard的UITableView,以便在代码中调用方法reloadData。

但是,当我尝试使用UIViewController的NSLog在init或viewDidLoad方法中打印出变量信息时,该变量为null。

UIViewController的示例代码:     @property(非原子,强)IBOutlet UITableView * myTableView;

我正在初始化相应的UIViewController,如下所示:

self = [super initWithNibName:@"CorrespondingNibViewControllerName" bundle:nil];

我原本希望myTableView实例变量已经通过故事板初始化为UITableView但是这似乎没有发生......

2 个答案:

答案 0 :(得分:0)

您可以认为在numberOfRows中分配tableview不是应该完成的方式。

您只需通过Interface Builder通过IBOutlet分配它,它将自动为您分配,无需任何额外代码。

答案 1 :(得分:0)

我将创建两个新文件myTableView.h和UTableView的myTableView.m子类。然后在.xib文件中,单击新添加的UITableView对象,并在Identity Inspector面板上为myTableView分配自定义类。

在你自己的UIViewController的subclass.m中,你可以在prepareForSeque:sender:方法中实例化myTableView对象。您还可以在UIViewController subclass.m下的viewDidLoad中添加要打印的代码。

不要忘记在属性检查器中为您的Segue标识符指定名称。