对不起,noob问题,但如果我要创建一个UITableViewController,我可以通过声明创建的指针表:如何创建指向UITableView的指针?
UITableView *tableView = self.tableView;
我会怎么做,如果我要创建一个TableView中一个UIViewController在视图控制器中创建的视图控制器中声明为数据源和委托?
对不起,noob问题,但如果我要创建一个UITableViewController,我可以通过声明创建的指针表:如何创建指向UITableView的指针?
UITableView *tableView = self.tableView;
我会怎么做,如果我要创建一个TableView中一个UIViewController在视图控制器中创建的视图控制器中声明为数据源和委托?
您应该将IBOutlet
添加到您的视图控制器并将其连接到故事板中。
@property (weak, nonatomic) IBOutlet UITableView *tableView;
这有效地复制了由UITableViewController
提供的标准tableView
属性。
请注意,weak
属性假定tableView
是视图控制器view
的子视图。如果不是,则tableView
也应该作为故事板中的view
IBOutlet连接。在这种情况下tableView
成为view
的别名。
没有必要为UITableViewController
中的表格视图创建出口。它已有一个您可以访问的属性tableView
。它碰巧指向与view
属性相同的对象。
在参考其他答案时,请注意,您不能移动表格视图以成为view
的子视图,因为它们是相同的。你将不得不使用超类UIViewController
来做这样的设置。
遵循这个步骤,请:
1)将tableViewController到故事板,将其放置在属于您的UIViewController视图控制器;
2)在您的班级的标题中添加协议。把它放在这样的接口线 - @interface YourViewController : UIViewController <UITableViewDataSource,UITableViewDelegate>
3)添加属性到标题类的 - @property (strong, nonatomic) IBOutlet UITableView *tableView;
4)控制+在故事板拖动的tableView并将其连接到数据源和的tableView委托,并将其连接到财产IBOutlet UITableView *tableView;
5)添加单元格,为tableView重用标识符,以及类方法实现您的类。
我不明白这一点“它恰好指向与视图属性相同的对象。” – Allen
另外,我创建了一个带有tableview的ViewController,而不是UITableViewController,没有tableView可以访问。 – Allen
您提问的句子意味着这两个属性指向相同的机器地址,即同一个对象。指针是相同的。你的问题清楚地问到关于表视图控制器而不是视图控制器。谢谢你浪费我的时间。 – Mundi