阅读背景:

协议类型数组不能向下转换为具体类型数组

来源:互联网 
protocol P : class {
    var value:Int {get}
}

class X : P {
    var value = 0

    init(_ value:Int) {
        self.value = value
    }
}

var ps:[P] = [X(1), X(2)]
for p in ps {
    if let x = p as? X {   // works for a single variable
        ...
    }
}

if let xs = ps as? [X] {   // doesn't work for an array (EXC_BAD_ACCESS)
    ...
}
protocol P : class {
    var value:Int {get}
}



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: