创建控制器A、B,要求把B的视图显示在A的视图上面?
TableViewController *table = [[TableViewController alloc]init];
self.table = table;
self.table.view.frame = CGRectMake(50, 100, 100, 200);
[self.view addSubview:self.table.view];
[self addChildViewController:self.table];
这样就可以把子控制器添加到父控制器上面。
现在这个table控制器可以声明为weak, [self addChildViewController:self.table];这一句就已经引用到了table,不需要用strong来修饰了。
TableViewController *table = [[TableViewController alloc]init];
self.table = table;
self.table.view.frame = CGRectMake(50, 100, 100, 200);
[self.view addSubview:self.table.view];
// [self addChildViewController:self.table];
如果像上面这样,父控制器没有拥有子控制器,当用weak修饰table时,她一生下来就死了,没有强指针指向他。引用计数为0.就挂了。
网友评论