0

YouTube でスタンフォード iOS 開発クラスをいくつか見たところ、よくわからないことがわかりました。講義では、教授はカスタム ビューとカスタム データ ソース クラスを作成する方法を説明します。コードは次のとおりです。

FaceView.swift

protocol FaceViewDataSource: class {
    // some stuff here
}

class FaceView: UIView {

    // some uninteresting properties here

    weak var dataSource: FaceViewDataSource?

    // other stuff here
}


HappinessViewController.swift

class HappinessViewController: UIViewController, FaceViewDataSource {

    @IBOutlet weak var faceView: FaceView!

    // other stuff here
}


教授は、ビューとビューコントローラー間の保持サイクルを回避するためにdataSource、プロパティをプロパティとして宣言する必要があると述べまし た。weak

dataSource私の質問は、プロパティを強いと宣言した場合、なぜ保持サイクルがあるのですか? outletプロパティがであるためweak、リテインサイクルはすでに回避されていませんか?

4

1 に答える 1