方法在项目中可用,但在操场上不可用

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”声明之前,没有关于其中任何功能的快速帮助文档。有点缺陷 - 无论是否导入了包含这些函数的框架,都可以在函数上提供上下文相关的帮助。安威,谢谢你的帮助。我现在将继续我的下一个错误! :) 不客气。是的,我以前遇到这个问题时也有同样的感觉。编译器不建议使用任何框架,没有一个我们不能使用基本方法。

以上是关于方法在项目中可用,但在操场上不可用的主要内容,如果未能解决你的问题,请参考以下文章

ontouchstart 在 iPad 上不可用?

为啥包在 NuGet 上不可用?

UIKeyInput 在 iPad 上不可用?

EKEventStore:“initWithAccessToEntityTypes”不可用:在 iOS 上不可用

为啥我添加到我的 xcode 项目的音频文件在模拟器中可用,但在我在 iPhone 上部署应用程序时不可用

外键在对象上不可用