在Swfit 中 对于 nil 的用法更为严谨了,与OC 中对于 nil 对象的用法随意性形成了很大的区别,swift中也许一不小心就因为对于 nil 对象操作导致crash崩溃,下面介绍了 在swift中nil 的一些基本知识:
var str: String? = nil // 代表空,无对象,
var str1: String? = "" // 有对象,为空对象
NSString *str2 = nil
print(str.chracters.count) // 会Crash , 因为str 无对象,而OC打印str2.length 不会Crash,输出0
print(str.isEmpty()) // 会Crash , 因为str 无对象,isEmpty这里判断字符的个数
print(str1.isEmpry()) // 输出 0
而OC str2.isEmpty() // 不会Crash
所有在Swift nil 与OC 里面的 nil 是有区别的, Swift 里面的nil 对象 不能对其作操作 只能判断是否为 nil(例如str ==nil or str != nil)只有确定对象不为nil 的情况下 才能对对象进行操作,否则则会crash。
PS: 有什么问题欢迎留言。