方法在项目中可用,但在操场上不可用
Posted
技术标签:
【中文标题】方法在项目中可用,但在操场上不可用【英文标题】:Method available in project but not in playground 【发布时间】:2016-09-17 12:08:31 【问题描述】:我是 Swift 新手 - 使用 Swift 3、Xcode 8.0 beta 6、Mac OS X 10.11.6。以下行在我的项目中有效(这是一个简单的测试用例,用于查看“包含”方法是否有效):
if ("hello John".contains("John"))
它在我的项目中运行良好,但是当我将它剪切并粘贴到操场项目中时,它会报错:
“'String' 类型的值没有成员 'contains'”。
我的问题是,除了为什么会抛出这个错误之外,在游乐场项目中使用的框架/功能/方法等是否与普通项目不同? 谢谢你的帮助。 乡绅。
【问题讨论】:
【参考方案1】:在 Playgrounds 中,您可能会错过一些框架 - 您还需要导入框架,才能访问其方法:
喜欢
import Foundation // responsible for strings for example
或
import UIKit // responsible for UI elements
...等
【讨论】:
谢谢 pedrouan,解决了。我曾假设(错误地!) .contains 方法是与 .hasPrefix 相同的框架的一部分(在函数中工作正常)。不幸的是,在包含“import Foundation”声明之前,没有关于其中任何功能的快速帮助文档。有点缺陷 - 无论是否导入了包含这些函数的框架,都可以在函数上提供上下文相关的帮助。安威,谢谢你的帮助。我现在将继续我的下一个错误! :) 不客气。是的,我以前遇到这个问题时也有同样的感觉。编译器不建议使用任何框架,没有一个我们不能使用基本方法。以上是关于方法在项目中可用,但在操场上不可用的主要内容,如果未能解决你的问题,请参考以下文章
EKEventStore:“initWithAccessToEntityTypes”不可用:在 iOS 上不可用