我有一个类,我想在那里用for循环来增加值。
这是我的课:
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)值。
最新情况:
我意识到我也得到了数据,但expandCell函数中出现了一个错误:
致命错误:无法使用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)
}
}
}发布于 2017-06-23 07:43:13
sidebarMenuItem是可选的,因为您已经声明它是可选的。尝尝这个。
var sidebarMenuItem = [Expandable]()
for allin in items{
sidebarMenuItem.append(Expandable(name: allin["Code"] as! String, id: allin["Id"] as! Int))
}发布于 2018-06-25 07:59:18
// swift 3.0
let k = 5
for i in stride(from: 10, through: k, by: 1) { print("i=\(i)") }
for i in stride(from: 10, to: k, by: 1) { print("i=\(i)") }发布于 2019-06-13 13:12:06
SWIIFT 4
要形成从upperBound到lowerBound的范围,请使用stride,如下文档页所示:泛型函数跨出(从:到:by:)
for i in stride(from: 10, through: 5, by: -1) { print(i) }
如果您想要包含lowerBound:泛型函数跨出(从:通过:by:),请跨出一步
https://stackoverflow.com/questions/44715382
复制相似问题