【发布时间】:2017-01-19 04:29:11
【问题描述】:
我想存储嵌套字典的值,以便我的集合视图可以在以后使用它,而不必每次都循环查找它。如果我尝试将循环放在我的 cellforindexatpath 函数中,我也不认为它会起作用(我可能是错的)。 “letabilitiesArray: [Ability] =.....”在我的班级里
最终我想要abilitiesArray = 能力。 “heroForDetails.hero.abilities”是一个 [String: [Ability]],所以我想返回 heroForDetails.hero.id == heroId 的 [Ability],因为 heroForDetails.hero.abilities 中有多个键:值对。当前的错误是在预期返回 [Ability] 的闭包中缺少返回。
let abilitiesArray: [Ability] = { () -> ([Ability]) in
let val = heroForDetails.hero.abilities
for (heroId, abilities) in val {
if heroForDetails.hero.id == heroId {
return abilities
}
}
}()
“abilities”是一个我打算这样使用的数组
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
if let cell = collectionView.dequeueReusableCellWithReuseIdentifier("AbilitiesCell", forIndexPath: indexPath) as? AbilitiesCell {
let ability: Ability
ability = abilitiesArray[indexPath.row]
cell.configureCell(ability)
return cell
}else {
return UICollectionViewCell()
}
}
我希望我在解释这一点方面做得很好。我刚开始学习编码,所以任何帮助都会很棒。我也可能完全错了。
【问题讨论】:
标签: ios arrays swift dictionary nested