Swift'没有名为'的成员

And*_*obs 6 xcode var let ios swift

有这个问题的解决方案吗?

class ViewController : UIViewController {
    let collectionFlowLayout = UICollectionViewFlowLayout()
    let collectionView = UICollectionView(frame: CGRectZero, collectionViewLayout: collectionFlowLayout)
}
Run Code Online (Sandbox Code Playgroud)

xcode给我以下错误

ViewController.swift: 'ViewController.Type' does not have a member named 'collectionFlowLayout'
Run Code Online (Sandbox Code Playgroud)

我可以使它成为一个可选项并在init方法中初始化它,但我正在寻找一种方法来使collectionview成为let而不是var

Dar*_*ren 3

您可以将初始值分配给初始化程序中的常量成员变量。没有必要将其设为var可选。

class ViewController : UIViewController {
    let collectionFlowLayout = UICollectionViewFlowLayout()
    let collectionView : UICollectionView

    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?)
    {
        self.collectionView = UICollectionView(frame: CGRectZero, 
                                collectionViewLayout: self.collectionFlowLayout);

        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil);
    }

    required init(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}
Run Code Online (Sandbox Code Playgroud)