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
中使用。
我想将变量传递给
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
中使用。