我在主控制器中加载以下代码。我已经调试,以确保它没有问题调用WebPortalViewController。
家长控制器A.viewDidLoad()
let sponsorViewController:UIViewController = storyboard!.instantiateViewControllerWithIdentifier("Child")
childViewController.view.setNeedsLayout()
childViewController.view.layoutIfNeeded()
然而,问题是viewDidLoad函数依赖于执行操作调用
子控制器B.viewDidload()
let operation = GetActiveSubscriptionOperation()
operation.getActiveSubscriptionCompletionBlock = { [weak self] (subscription, error) in
switch (self, subscription, error) {
在直接从UITabController加载视图Controller之前, self
始终为null。如何让getActiveSubscriptionCompletionBlock
在关闭中保持self
?
答案 0 :(得分:0)
weak
被声明为可选,如果不可达,则变量可以是nil。所以在viewcontroller加载之前获取nil是正常的。
对于我来说viewDidLoad不应该依赖于它在viewcontroller的生命周期中执行的函数。