在Swift的前一个版本中,我有以下代码。
func myfunc(mystr: String) {
if mystr.utf16Count >= 3 {使用SWIFT1.2的最新版本,我现在得到了以下错误。
'utf16Count' is unavailable: Take the count of a UTF-16 view instead, i.e. count(str.utf16)因此,我修改代码如下:
func myfunc(mystr: String) {
if count(mystr.utf16) >= 3 {但这不管用。现在我得到以下错误消息。
'(String.UTF16View) -> _' is not identical to 'Int16'使用Swift 1.2获得字符串长度的正确方法是什么?
发布于 2015-04-11 07:18:04
您可以使用扩展名如下:
extension String {
var length: Int { return count(self) } // Swift 1.2
}你可以用它:
if mystr.length >= 3 {
}或者你可以用这种方式直接数数:
if count(mystr) >= 3{
}这也适用于我:
if count(mystr.utf16) >= 3 {
}SWIFT2.0:
extension String {
var length: Int {
return characters.count
}
}
let str = "Hello, World"
str.length //12另一个分机:
extension String {
var length: Int {
return (self as NSString).length
}
}
let str = "Hello, World"
str.length //12如果你想直接使用:
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发布于 2015-09-21 21:37:55
必须使用包含属性计数的字符属性:
yourString.characters.count
发布于 2015-09-28 13:06:00
SWIFT2.0更新
extension String {
var count: Int { return self.characters.count }
}使用:
var str = "I love Swift 2.0!"
var n = str.counthttps://stackoverflow.com/questions/29575140
复制相似问题