Swift 没有看到变量

Swift does not see the variable

我想将变量传递给

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 6 // <-- HERE
}

来自

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { ... }

为此我做下一个:

class GalleryController: UIViewController {
    var galleryCount = 0 as Int
}

之后

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    var gallery = myJSON["result"][choosenRow]["gallery"]
    galleryCount = gallery.count
}

我重写了我的 galleryCount 变量,当我想在

中使用它时
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return galleryCount // <-- HERE
}

我收到错误:error: <EXPR>:1:1: error: use of unresolved identifier 'galleryCount' galleryCount

为什么?我不明白这个错误。有人可以帮我吗?

尝试定义没有值的变量

class GalleryController: UIViewController {
    var galleryCount:Int = 0
}

并在viewDidLoad

中初始化它的值

因为在集合委托中调用的第一个方法是 numberOfItemsInSection 而不是 cellForItemAtIndexPath

编辑

调用的第一个方法是 numberOfItemsInSection,因此 galleryCount 将保持为 0 而您的 cellForItemAtIndexPath 从未调用过。

如果您想使用 galleryCount,请在 viewDidLoad 中使用。