繁体   English   中英

如何快速转换nil字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM