[英]How to convert a nil string in swift
我尝试仅过滤我的peripheral.name对象的名称。 通常,这没问题。 例如: [Optional"Apple TV"]
工作原理与应有的一样。 但是,如果我得到一个nil对象,就会出现致命错误,并且我不明白为什么...
let str = "\(peripheral.name)"
let test_str = str.substringWithRange(Range<String.Index>(start:str.startIndex.advancedBy(10), end: str.endIndex.advancedBy(-2)))
print(test_str)
我认为操作"\\(peripheral.name)"
会将每个对象转换为字符串...也是nil类型。
str
的确确实始终是一个String:如果peripheral.name
名为nil,它将导致一个空字符串。
但是,您正在将advancedBy
与硬编码的值(例如10)一起使用:它将不适用于空字符串,这是致命错误的根源,您无法沿着不存在的索引移动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.