我创建了一个对象(对象名称为Coach),我在其.h文件@property (strong,nonatomic) NSArray *interestingCoaches;
和@property (strong, nonatomic) Coach *coach;
中为该对象声明了一个数组属性,然后在视图控制器中(我们称之为xViewController)我导入了Coach.h文件(#import "Coach.h"
)并设置了数组self.coach.interestingCoaches。但是在我的表视图控制器中,我导入了我的Coach.h文件,当我尝试将- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
方法设置为
return self.coach.interestingCoaches.count;
它说没有找到“物业教练”并迫使我重建教练财产
@property (strong, nonatomic) Coach *coach;
在表格中再次查看控制器的标题。为什么它识别我的XViewController中的coach对象而不是我的表视图控制器?以及如何让我的表视图控制器使用我的xViewController中声明的数组识别对象?
谢谢(没有故事板)
答案 0 :(得分:0)
我如何理解设置: 你有一个带有属性的Coach类:NSArray intrestingCoaches。 你有一个带有属性的XViewController类:Coach coach。 你有一个UITableViewController类。
如果在XViewController类中设置coach的数组,并且想要在UITableViewController类中访问同一个数组,则需要 引用 教练。
我无法看到你的课程是如何设置的,所以我无法给出完整的答案。这就是我想你想要的:
你有你的XViewController,你想要显示UITableViewController。 我认为最好的选择是在UITableViewController中保留一个coach引用。 所以你必须制作一个自定义的UITableViewController:
@interface CustomTableViewController : UITableViewController
@property (nonatomic, strong) Coach *coach;
@end
初始化CustomTableViewController时:
CustomTableViewController *tableViewController = [CustomTableViewController alloc]init];
tableViewController.coach = self.coach //self = XViewController
//Show view
现在您可以参考同一位教练! 不要忘记设置代理和数据源。
如果我对你的设置的理解是错误的,请纠正我,所以我可以编辑我的答案!