【发布时间】:2015-04-26 11:38:51
【问题描述】:
所以问题是这样的:
我继承了 2 个类,即 UIView(name: Menu) 和 UIViewController(name: MainController)。在菜单中,我使用 xib 文件来创建它的布局。在 MainController 中,我将 Menu 添加为这样的子视图,并符合 Menu 中的协议。
SliderMenu *sliderMenu = [[[NSBundle mainBundle] loadNibNamed:@"SliderMenu" owner:self options:nil] objectAtIndex:0];
sliderMenu.datasource = self;
sliderMenu.delegate = self;
[self.view addSubview:sliderMenu];
布局完美,没有问题。
问题在于数据源。我在 awakeFromNib
中调用数据源方法- (void)awakeFromNib {
// Alloc data
self.data = [[NSArray alloc] initWithArray:[self.datasource arrayOfData]];
}
甚至永远不会被调用。经过反复尝试,我发现sliderMenu.datasource = self;在awakeFromNib之后运行。这就是为什么 MainController 中的数据源方法永远不会被调用的原因。
问题: 我该如何解决这个问题?
【问题讨论】:
-
将你的代码从
awakeFromNib移动到datasource赋值之后的某个地方 -
我试过了,不行。
标签: ios objective-c datasource awakefromnib