class C{
var b:[String]?
subscript(i:Int)->String?{
get{
return b?[i]
}
set{
b?[i] = newValue! // notice the unwrapped “!” here
}
}
}
在代码中,我放了一个感叹号"!“要解开newValue
,因为newValue
与下标的返回值类型相同,即String?如果我不把感叹号"!“它将报告错误:“
错误:无法赋值类型为'String?‘键入'
String
‘b?[i] = newValue
问:b?[i]
显然是一个可选的字符串值字符串?,为什么它是字符串类型?我想知道这是一个糟糕的错误代码
https://stackoverflow.com/questions/41741465
复制相似问题