Ios 从故事板加载的视图控制器是强还是弱?

Ios 从故事板加载的视图控制器是强还是弱?,ios,cocoa-touch,Ios,Cocoa Touch,我更习惯于使用笔尖而不是故事板,而使用笔尖时,大多数插座都很弱 假设我想做这样的事情: self.menuViewController = [storyboard instantiateViewControllerWithIdentifier:@"MenuViewController"]; menuViewController属性是强还是弱?应该是强。如果您将其配置为弱,它将在下一行被释放。坦率地说,我有点困惑,我的答案并不能完全解决问题,但会发现一些意想不到的事情 我以为 UIViewCon

我更习惯于使用笔尖而不是故事板,而使用笔尖时,大多数插座都很弱

假设我想做这样的事情:

self.menuViewController = [storyboard instantiateViewControllerWithIdentifier:@"MenuViewController"];

menuViewController属性是强还是弱?

应该是强。如果您将其配置为弱,它将在下一行被释放。

坦率地说,我有点困惑,我的答案并不能完全解决问题,但会发现一些意想不到的事情

我以为

UIViewController *weakOrStrongViewController = [storyboard instantiateViewControllerWithIdentifier:@"viewControllerID"];
类似于-initWithNibName方法

我们应该把这些对象作为有力的参考

但当我做了以下事情:

__weak UIViewController *weakOrStrongViewController = [storyboard instantiateViewControllerWithIdentifier:@"viewControllerID"];
weakOrStrongViewController尚未在下一行上解除分配。此外,我可以很容易地提出和驳回

我还发现,重新计算是:我知道这是不推荐的,可能会误导

NSLog(@"Retain count is %ld", CFGetRetainCount((__bridge CFTypeRef)self.presentedViewController));

Retain count is 5

此方法仅在官方文档中描述。

strong。它是否适用于弱:在这种情况下,保留计数是双重无用的。同意它不显示真实的图片,但无论如何5不是一个随机数,如果使用弱引用,某些东西仍然对它有引用,直到毫无意义为止。在这5个中,有多少是因为对象是自动释放的?有多少是您无法控制的内部实施细节?作为故事板实例化的一部分,有多少是临时的?回答最初的问题实际上,我的主要观点是关于弱引用和对象仍然存在我不依赖于保留计数