我一直在学习Swift,但始终遇到一个反复出现的问题。操场在运行时不会完成代码的运行,即使是默认的MyPlayground文件也是如此。我没有得到任何输出。
我在网上搜索过,其他人和我有同样的问题,但没有答案。这种情况发生在我之前创建的默认文件和构建文件中。
我在三个不同的场合与苹果公司进行了交谈,但一无所获,并提到了开发者论坛,他们也没有得到答案。
有什么想法吗?
例如,
//: Playground - noun: a place where people can play
import Cocoa
var str = "Hello, playground"
print(str)
这是默认的,当运行时,我不会在Utilities视图中得到str或任何东西的输出,它只是说在顶部运行MyPlayground。
感谢
您的构建目的是什么?iOS、macOS还是tvOS?
macOS的默认文件如您所说:
import Cocoa
var str = "Hello, playground"
它运行完美,没有错误。
但是当我运行为iOS
构建的代码时,Xcode抛出了一个错误:
Swift Compiler Warning: No such module `Cocoa`.
无论哪种方式,您都不能在为iOS构建的游乐场中使用import Cocoa
,因此不要使用import Cocoa
、import UIKit
。此外,import UIKit
是为iOS构建时的默认文件。所以我怀疑你在游乐场的iOS版本中运行默认的macOS文件。
这里还有另一个问题,它解决了在游乐场中导入Cocoa
的问题。
根据您的评论,由于您遇到了一个看起来像空指针的异常,很可能是来自试图加载不存在对象的项目,下面是一些故障排除步骤:
- 擦除
import Cocoa
- 键入
import
(注意末尾的空格。) - 键入
C
- 如果
C
没有生成一个包含Cocoa
的自动完成列表,那么它就不是构建的一部分 - 这将解释空指针异常(EXC_BAD_ACCESS为0x0)
接下来,在同一个操场上:
- 擦除
import Cocoa
行 - 键入
import
(末尾有空格。) - 键入
UI
并等待自动完成列表 - 如果
UI
为UIKit提供了自动完成选项,那么Cocoa就不是游乐场的一部分 - 这就是出现空指针错误的原因