为啥某些 Swift 标准库函数在 Playground 中无法识别?

Posted

技术标签:

【中文标题】为啥某些 Swift 标准库函数在 Playground 中无法识别?【英文标题】:Why are some Swift standard library functions not recognized in playground?为什么某些 Swift 标准库函数在 Playground 中无法识别? 【发布时间】:2015-09-28 02:04:03 【问题描述】:

有一个名为 countElements() 的函数应该是 Swift 中的标准库函数(该函数出现在当前 Swift 2.0 更新版本“The Swift Programming Language”的第 160 页) .

那么,下面的代码不应该正常工作吗?

【问题讨论】:

您的 Swift iBook 版本已过时。 countElements 变为 count 并再次被替换,在 Swift 2.0 中这样调用:stringA.characters.count 顺便说一句,“第160页”在电子书中没有任何意义,因为页码随字体大小而变化。 @vacawama 你在这两个方面都是对的。刚收到我的更新。谢谢 @eric 一切都按预期工作吗? @JAL 好的,谢谢! 【参考方案1】:

在 Swift 2.0 中,不再有 countElements(...) 方法。请改用stringA.characters.countcharacters 从字符串中返回一个字符数组,count 返回字符数组中的项目数。

文档:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/StringsAndCharacters.html#//apple_ref/doc/uid/TP40014097-CH7-ID297

【讨论】:

比我快 15 秒,所以 +1 给你。更多信息可在这篇 Swift2 博客文章的 "Measuring Strings has changed again" 部分找到。 感谢@MichaelDautermann,还添加了指向 Swift 文档的链接。

以上是关于为啥某些 Swift 标准库函数在 Playground 中无法识别?的主要内容,如果未能解决你的问题,请参考以下文章

swift 构建OSX拖放操场:将dragndrop.swift抛出到共享源中,然后测试单个playgro中的示例

C语言为啥可以重写标准库函数?

为啥标准库函数中没有提供带有迭代器参数的重载? [复制]

Swift标准库的高级扩展EZSwiftExtensions

为啥 C++ 标准库中没有线程池?

为啥说,信号处理函数里面不要用printf等库函数