Maison > Questions et réponses > le corps du texte
创建了一个可变数组,往数组里面插入相关节点的时候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: _) Cette méthode, le premier paramètre est un [IndexPath]
Puisque vous utilisez Swift, il est recommandé d'utiliser le type de données Swift
C'est[IndexPath]
c'est Array<IndexPath>
La définition de Array en est une dans Swift struct
NSMutableArray est une classe objc, deux choses qui sont complètement incompatibles avec struct
Ma méthode d'écriture recommandée :
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] = []
Et, dans Swift 3, le préfixe NS est supprimé, n'utilisez pas NSIndexPath
, utilisez plutôt IndexPath
.