我想将变量传递给
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
中进行操作。