形成范围我有一个我想与有附加价值的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