【发布时间】:2019-09-23 08:57:09
【问题描述】:
我在字符串扩展中有以下实例函数:
func numberOfCharactersInATweet(withShortURLLength shortURLLength:UInt, andShortURLLengthHTTPS shortURLLengthHTTPS:UInt) -> NSInteger {
var numCharacters = 0
let stringLength = self.count
self.enumerateSubstrings(in: Range(NSMakeRange(0, stringLength))!, options: NSString.EnumeratingOptions.byComposedCharactersSequences) { (subString, subStringRange, enclosingRange, stop) in
numCharacters = numCharacters + 1
(Ambiguous reference to member '+')
}
return numCharacters
}
我想我知道为什么我会收到这条消息。这是因为我想增加一个整数变量,但该成员 '+' 也被定义为我正在扩展的 String 类中的连接运算符。我怎么知道将那个 '+' 成员用于整数?
【问题讨论】:
-
关闭是
@escaping。 -
当函数不是我的时候,如何让它不转义?
-
此代码 sn-p 在 Swift 5 操场上不起作用。当我修复代码时,我没有收到您提到的错误。
-
这看起来只是现代 Swift 中的
string.count。它正在计算组合的字符序列,即Character(即字符串的元素)。