小编Ste*_*nov的帖子

2D数组扩展Swift 3.1.1

我试图Array在Swift 3.1.1中进行扩展,该扩展支持将对象添加到2D数组中的某个索引,即使该数组尚未填充.扩展还应该提供获取对象的能力indexPath.我在Swift 2中有这个代码,但我似乎无法将它迁移到Swift 3.这是Swift 2代码:

extension Array where Element: _ArrayProtocol, Element.Iterator.Element: Any {

    mutating func addObject(_ anObject : Element.Iterator.Element, toSubarrayAtIndex idx : Int) {
        while self.count <= idx {
            let newSubArray = Element()
            self.append(newSubArray) 
        }

        var subArray = self[idx]
        subArray.append(anObject)
    }

    func objectAtIndexPath(_ indexPath: IndexPath) -> Any {
        let subArray = self[indexPath.section]
        return subArray[indexPath.row] as Element.Iterator.Element
    }
}
Run Code Online (Sandbox Code Playgroud)

代码来自这个答案.

arrays multidimensional-array swift swift3

5
推荐指数
1
解决办法
720
查看次数

标签 统计

arrays ×1

multidimensional-array ×1

swift ×1

swift3 ×1