Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift string count()与NSString.长度不相等_String_Swift_Nsstring - Fatal编程技术网

Swift string count()与NSString.长度不相等

Swift string count()与NSString.长度不相等,string,swift,nsstring,String,Swift,Nsstring,为什么这两行给了我不同的结果 var str=“Hello我认为这句话最能说明问题: 计数(\u1:)返回的字符计数函数并不总是与包含相同字符的NSString的length属性相同。NSString的长度基于字符串的UTF-16表示中的16位代码单元数,而不是字符串中的Unicode扩展图形集簇数。为了反映这一事实,NSStri的length属性当通过Swift字符串值访问ng时,它被称为utf16Count 这是因为Swift使用扩展的字形集群。Swift将笑脸视为一个字符,但NSStrin

为什么这两行给了我不同的结果

var str=“Hello我认为这句话最能说明问题:

计数(\u1:)返回的字符计数函数并不总是与包含相同字符的NSString的length属性相同。NSString的长度基于字符串的UTF-16表示中的16位代码单元数,而不是字符串中的Unicode扩展图形集簇数。为了反映这一事实,NSStri的length属性当通过Swift字符串值访问ng时,它被称为utf16Count


这是因为Swift使用扩展的字形集群。Swift将笑脸视为一个字符,但NSString方法将其视为两个Unicode字符,尽管它们是“组合”的并表示一个符号。

utf16Count
在Swift 1.2中不再存在,现在是
count(str.utf16)