形成範圍我有一個我想與有附加價值的for循環的類。斯威夫特3:致命錯誤:無法與UPPERBOUND <下界
這是我的課:
public class Expandable {
public var name: String
public var id:Int
init(name: String, id:Int) {
self.name = name
self.id = id
}
我可以手動添加這樣的:
let a = [Expandable(name:"aaa", id: 12)]
但是,當我嘗試用for循環,它不會在所有的工作。
for allin in items{
sidebarMenuItem?.append(Expandable(name: allin["Code"] as! String, id: allin["Id"] as! Int))
}
Items
數據的作品完美,但sidebarMenuItem
越來越Optional(MyProjectName.Expandable)
值當我打印出來。我是新來的班級。那麼你能幫助我爲這種情況做些什麼嗎?
UPDATE:
我意識到,我得到了DATAS很好,但我得到一個錯誤到expandCell
功能:
fatal error: Can't form Range with upperBound < lowerBound
我expandCell功能:
private func expandCell(tableView: UITableView, index: Int) {
// Expand Cell (add ExpansionCells
if let expansions = sideBarData?[index]?.expandable {
for i in 1...expansions.count {
sideBarData?.insert(nil, at: index + i)
tableView.insertRows(at: [NSIndexPath(row: index + i, section: 0) as IndexPath] , with: .top)
}
}
}
'sidebarMenuItem'顯然是一個可選的(或者甚至是'[Expandable?]'')類型,你期望什麼?在許多情況下,將數組聲明爲可選項是無意義的。 – vadian
@vadian我做了可選的,因爲我在可擴展的tableview列表中使用這個類。如果它是空的,我不會添加新的可擴展列表。這是我的目標。 – winnervswinner
**不要**將數據源數組聲明爲可選項,並且**不要**在數據源數組中使用可選類型。或者底層表視圖也是可選的? – vadian