を使用してコントローラー階層からviewControllerを削除していますremoveFromParentViewController
がdeinit
、ビューコントローラーが呼び出されません。強い参照を保持しているものを確認するにはどうすればよいですか?
参照グラフがメモリに存在することを確認する方法はありますか?
これは私の swap メソッドがどのように見えるかです:
public class func swap(fromViewController: UIViewController!, toViewController: UIViewController!, containerViewController: UIViewController!) {
fromViewController.willMoveToParentViewController(nil)
containerViewController.addChildViewController(toViewController)
toViewController.view.frame = containerViewController.view.bounds
containerViewController.transitionFromViewController(fromViewController, toViewController: toViewController, duration: 0.2, options: UIViewAnimationOptions.TransitionCrossDissolve, animations: {}, completion: {finished in
fromViewController.removeFromParentViewController()
toViewController.didMoveToParentViewController(containerViewController)
})
}
宛先transitionFromViewController
completion
/ソース ビューを追加/削除する必要がありますか?
Swiftでにアクセスする方法はrefCount
ありますか?viewController
でコードを解析してみましたInstruments
。ビューコントローラーへの強い参照を保持しているものを見つけますが、理解できませんでした。何か助けはありますか?