Swift 1.2 不能使用类型为 '(String)' 的参数列表调用 'count'
Posted
技术标签:
【中文标题】Swift 1.2 不能使用类型为 \'(String)\' 的参数列表调用 \'count\'【英文标题】:Swift 1.2 cannot invoke 'count' with an argument list of type '(String)'Swift 1.2 不能使用类型为 '(String)' 的参数列表调用 'count' 【发布时间】:2015-04-24 18:56:58 【问题描述】:用新的Swift 1.2更新到Xcode 6.3.1,旧方法countElement
更改为count
,但是当我切换到使用count
时,它总是抛出这个错误消息:
无法使用“(String)”类型的参数列表调用“count”
这个 sn-p 是我从 Apple 文档中复制的,但仍然无法正常工作。
func printAndCount(stringToPrint: String) -> Int
println(stringToPrint)
return count(stringToPrint)
func printWithoutCounting(stringToPrint: String)
printAndCount(stringToPrint)
printAndCount("hello, world")
【问题讨论】:
该代码在我的 Xcode 6.3.1 中编译和运行没有问题。 String length in Swift 1.2 and Swift 2.0 的可能重复项 【参考方案1】:尝试使用 Swift
模块前缀调用全局 count
函数,如下所示:
Swift.count(stringToPoint)
例如当扩展 Array 类型时,还有一个名为 count 的属性,因此存在命名冲突。
【讨论】:
我不确定这是否是一个错误,但是在我所有的“计数”调用中添加 Swift 模块前缀确实解决了这个问题!伟大的提示 Klaas,你拯救了我的一天!【参考方案2】:您是否在同一范围内声明了变量“count”? 如果是这样,您应该更改变量名称。并尝试重新构建。
【讨论】:
对我来说似乎是一个错误。 多哈。不是错误,因为覆盖范围的行为符合预期,但这是一个容易犯的错误,并且错误消息没有帮助。【参考方案3】:我遇到了同样的问题,这让我发疯了。
为了解决这个问题,我使用了:
myString.characters.count
宾果游戏。
【讨论】:
我也遇到了同样的问题,前缀Swift
对我不起作用。但你的答案确实有效。不知道这个bug是怎么来的【参考方案4】:
您是否尝试过清理和构建?它在这里工作。
【讨论】:
好吧,我创建了一个新的游乐场,代码运行良好。我猜是因为之前的 Playground Swift 版本搞砸了。 有时你只需要重新加载它(通过退出 Xcode 或剪切和粘贴代码)。【参考方案5】:好吧,我创建了一个新的游乐场并复制代码工作正常。我想这是因为以前的 Playground Swift 版本搞砸了。创建一个新项目工作正常。
【讨论】:
以上是关于Swift 1.2 不能使用类型为 '(String)' 的参数列表调用 'count'的主要内容,如果未能解决你的问题,请参考以下文章
Swift 1.2 到 Swift 2:无法将类型的值转换为预期的参数类型
Swift 3 不能使用 SwiftyJSON 和 Alamofire 为“String”类型的值下标“String”类型的索引
不能使用 String 类型的索引为 NSDictionary 类型的值下标。从 Swift 2.3 -> 3.2 转换时