父子控制器

2016-05-14  本文已影响19人  王小宾

创建控制器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.就挂了。

上一篇下一篇

猜你喜欢

热点阅读