创建了一个可变数组,往数组里面插入相关节点的时候indexpath
报错信息为:cannot convert value of type 'NSMutalbeArray' to expected argument type '[IndexPath]'
//获取需要修正的indexpath
let indexPathArray = NSMutableArray()
for i in startPosition...endPosition {
let tempIndexPath:NSIndexPath = NSIndexPath(row: i, section: 0)
indexPathArray.add(tempIndexPath)
}
//插入或者删除相关节点
if expand {
self.insertRows(at: indexPathArray, with: UITableViewRowAnimation.none)
}
天蓬老师2017-04-18 09:49:06
insertRows(at: _, with: _) 這個方法,第一個參數,是一個 [IndexPath]
既然你用 swift,就建議使用swift資料型別
這個[IndexPath]
也就是 Array<IndexPath>
Array 的定义是 swift 中的一个 struct
也就是Array
Array 的定義是swift 中的一個struct
我推薦的寫法:🎜
var indexPathArray = [IndexPath]() // 看这里
for i in startPosition...endPosition {
let tempIndexPath = IndexPath(row: i, section: 0)
indexPathArray.append(tempIndexPath) // 和这里
}
//插入或者删除相关节点
if expand {
self.insertRows(at: indexPathArray, with: .none)
}
黄舟2017-04-18 09:49:06
let indexPathArray: [IndexPath] = []
並且,在 Swift 3 中,移除了 NS 前綴,不要使用 NSIndexPath
,而是用 IndexPath
。