Avatar ·

如何在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。