ios - swift 动态添加indexpath,数据类型出错怎么解决?
怪我咯
怪我咯 2017-04-18 09:47:06
0
2
464

创建了一个可变数组,往数组里面插入相关节点的时候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)
    }
怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(2)
Peter_Zhu

insertRows(at: _, with: _) Kaedah ini, parameter pertama ialah [IndexPath]
Memandangkan anda menggunakan swift, adalah disyorkan untuk menggunakan jenis data swift

Ini[IndexPath] ialah Array<IndexPath>
Takrifan Array ialah satu dalam swift struct
NSMutableArray ialah kelas objc, dua perkara yang tidak serasi sepenuhnya dengan struct

Kaedah penulisan saya yang disyorkan:

    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)
    }
黄舟
let indexPathArray: [IndexPath] = []

Dan, dalam Swift 3, awalan NS dialih keluar, jangan gunakan NSIndexPath, gunakan IndexPath sebaliknya.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan