我更习惯使用笔尖而不是故事板,而使用笔尖,大多数网点都很弱。
说我想做这样的事情:
self.menuViewController = [storyboard instantiateViewControllerWithIdentifier:@"MenuViewController"];
menuViewController
属性应该是strong
还是weak
?
答案 0 :(得分:0)
应该很强大。如果将其配置为弱,则将在下一行解除分配。
答案 1 :(得分:-1)
坦率地说我有点困惑,我的回答并没有完全解决问题,但却发现了意想不到的事情。
我认为
UIViewController *weakOrStrongViewController = [storyboard instantiateViewControllerWithIdentifier:@"viewControllerID"];
类似于 - initWithNibName
方法
我们应该将这些对象保留为strong
引用。
但是当我做了以下事情时:
__weak UIViewController *weakOrStrongViewController = [storyboard instantiateViewControllerWithIdentifier:@"viewControllerID"];
weakOrStrongViewController尚未在下一行解除分配。此外,我可以很容易地提出并解雇。
我还发现retainCount是:(我知道它不推荐,可能会误导)
NSLog(@"Retain count is %ld", CFGetRetainCount((__bridge CFTypeRef)self.presentedViewController));
Retain count is 5
此方法在官方文档中完全描述。