Swift 1.2无法使用类型为'(String)'的参数列表调用'count'。

6 浏览
0 Comments

Swift 1.2无法使用类型为'(String)'的参数列表调用'count'。

更新到Xcode 6.3.1和新的Swift 1.2版本后,旧的方法countElement更改为count,然而当我切换使用count时,总是会抛出以下错误信息:

无法使用类型为'(String)'的参数列表调用'count'

这段代码是我从苹果文档上复制的,但仍然不能正常工作。

func printAndCount(stringToPrint: String) -> Int {

println(stringToPrint)

return count(stringToPrint)

}

func printWithoutCounting(stringToPrint: String) {

printAndCount(stringToPrint)

}

printAndCount("hello, world")

0
0 Comments

在Swift 1.2版本中,当尝试使用count方法来计算一个字符串的长度时,会出现"Swift 1.2 cannot invoke 'count' with an argument list of type '(String)'"的错误提示。这个问题的出现是因为在Swift 1.2中,字符串不再是一个简单的字符数组,而是由字符组成的集合。因此,我们无法直接使用count方法来计算字符串的长度。

要解决这个问题,我们可以使用字符串的characters属性来获取一个字符串的字符集合,然后再使用count方法来计算字符集合的长度。具体的解决方法如下所示:

myString.characters.count

通过这种方式,我们可以正确地计算一个字符串的长度。这个解决方法被广泛地使用,也被证实是有效的。

正如其他用户所提到的,这个问题可能是由于Swift 1.2版本中对字符串的处理方式发生了变化,导致原有的count方法无法正确运行。具体的原因可能需要进一步的研究和分析才能得出。但无论如何,使用myString.characters.count这种方式可以解决这个问题,让我们能够正确地计算字符串的长度。

0
0 Comments

问题的原因是在相同的作用域中声明了变量"count"。解决方法是改变变量名并重新构建。这看起来像是一个bug,但实际上作用域覆盖的行为是符合预期的,这是一个容易犯的错误,而且错误信息也不够明确。

0
0 Comments

Swift 1.2无法使用类型为'(String)'的参数列表调用'count'的原因是存在命名冲突。解决方法是在调用全局的'count'函数时加上'Swift'模块前缀,例如:Swift.count(stringToPoint)。这个方法能够解决问题并消除命名冲突。感谢Klaas提供的建议,你解决了我的问题!

0