首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SWIFT1.2和SWIFT2.0中的字符串长度

SWIFT1.2和SWIFT2.0中的字符串长度
EN

Stack Overflow用户
提问于 2015-04-11 07:10:18
回答 5查看 49K关注 0票数 33

在Swift的前一个版本中,我有以下代码。

代码语言:javascript
运行
复制
func myfunc(mystr: String) {
    if mystr.utf16Count >= 3 {

使用SWIFT1.2的最新版本,我现在得到了以下错误。

代码语言:javascript
运行
复制
'utf16Count' is unavailable: Take the count of a UTF-16 view instead, i.e. count(str.utf16)

因此,我修改代码如下:

代码语言:javascript
运行
复制
func myfunc(mystr: String) {
    if count(mystr.utf16) >= 3 {

但这不管用。现在我得到以下错误消息。

代码语言:javascript
运行
复制
'(String.UTF16View) -> _' is not identical to 'Int16'

使用Swift 1.2获得字符串长度的正确方法是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-04-11 07:18:04

您可以使用扩展名如下:

代码语言:javascript
运行
复制
extension String {
     var length: Int { return count(self)         }  // Swift 1.2
}

你可以用它:

代码语言:javascript
运行
复制
if mystr.length >= 3 {

}

或者你可以用这种方式直接数数:

代码语言:javascript
运行
复制
if count(mystr) >= 3{

}

这也适用于我:

代码语言:javascript
运行
复制
if count(mystr.utf16) >= 3 {

}

SWIFT2.0:

代码语言:javascript
运行
复制
extension String {
    var length: Int {
        return characters.count
    }
}
let str = "Hello, World"
str.length  //12

另一个分机:

代码语言:javascript
运行
复制
extension String {
    var length: Int {
        return (self as NSString).length
    }
}
let str = "Hello, World"
str.length //12

如果你想直接使用:

代码语言:javascript
运行
复制
let str: String = "Hello, World"
print(str.characters.count) // 12

let str1: String = "Hello, World"
print(str1.endIndex) // 12

let str2 = "Hello, World"
NSString(string: str2).length  //12
票数 87
EN

Stack Overflow用户

发布于 2015-09-21 21:37:55

必须使用包含属性计数的字符属性:

yourString.characters.count

票数 23
EN

Stack Overflow用户

发布于 2015-09-28 13:06:00

SWIFT2.0更新

代码语言:javascript
运行
复制
extension String {
    var count: Int { return self.characters.count }
}

使用:

代码语言:javascript
运行
复制
var str = "I love Swift 2.0!"
var n = str.count

https://gist.github.com/chess92

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29575140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档