如何在Swift中获取字符串长度?像Objective-C中的.length属性不起作用
大家好!我刚开始学习Swift,之前写过一些Objective-C。在Objective-C中,要获取字符串长度,我只需写:
```objc
NSString *str = @"Привет";
NSInteger len = [str length];
```
现在我想在Swift中做同样的事情,但编译器报错了。这是我的代码:
```swift
let str = "Привет"
let len = str.length // Error: Value of type 'String' has no member 'length'
```
我尝试在网上搜索,发现Swift中应该使用`count`,但效果不理想:
```swift
let str = "Привет"
let len = str.count // 这能工作,但对emoji返回奇怪的结果
```
问题在于,当我计算包含emoji的字符串长度时,比如"👨👩👧👦 Семья",`count`对这个组合emoji返回1,尽管视觉上有4个人。而我需要的是像Objective-C中那样获取可见字符的数量。
请问,如何在Swift中正确获取字符串长度?最好能考虑Unicode和emoji。