直觉上告诉我们,这两个方法并没有大的区别。
在实际使用上,也确实没有什么区别,在Playground上执行下面代码。
import Foundation
let str = "I'm String!"
print(str.characters.count) // Print 11
print((str as NSString).length) // Print 11
但是,这里有一个坑~~~
如果你的字符串包含有 emoji 字符,不好意思,characters.count 并不会将它计算在内。
import Foundation
let str = "I'm String!😂"
print(str.characters.count) // Print 12
print((str as NSString).length) // Print 13
具体原因请看 Apple 官方对 characters 的注释。