私のviewcontrollerを代理人で初期化する必要がある場合は、代わりに無所有者を使用することに危険がありますか?非オプション代理人のために弱いvs無用
weakを使用すると、関数が失敗する可能性があります(下記参照)。ただし、クラッシュすることはありません。
この場合unownedを使用すると、とにかく危険ですか?お使いのコントローラがデリゲートで初期化されなければならないと、コントローラは、その後unowned
が正解であるそれなしで動作することはできません場合は
class MyViewController: UIViewController
private unowned var delegate: MyViewControllerDelegate
init(delegate: MyViewControllerDelegate) {
self.delegate = delegate
}
func foobar {
delegate.doAction()
}