Print 语句在 iPad Playgrounds 中无法正常工作
Print statement doesn’t work properly in iPad Playgrounds
我正在尝试 运行 使用 iPad Playgrounds:
在异步闭包中打印“foo”的简单代码
import Foundation
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
print("foo")
}
但它无法在查看器中显示“foo”(出现一个可调整大小的小内嵌块)。
奇怪的是,
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
print("foo")
let _ = 0
}
有效。
怎么了?这是一个错误吗?
另外,有没有办法像 Xcode Playgrounds 那样显示带有打印输出的控制台?我发现小“查看器”使用起来有点麻烦。
提前致谢!
编辑:我检查了 Xcode Playgrounds 在查看器中使用第一个代码显示 (),并正确显示 "foo" 添加了 let _ = 0
。尽管如此,我在这两种情况下都可以看到输出 "foo",因为我在 Xcode 版本中有一个控制台输出。
对于您的控制台问题,cmd + shift + Y 将调出控制台区域,就像任何 Xcode 项目一样
关于正在发生的事情的更大问题...
asyncAfter函数的execute:
参数接受的闭包是() -> Void
类型。所以闭包是 returning Void, which is typedef'd to an empty tuple ()。所以查看器正在显示闭包的 return 值,一个空元组。
我正在尝试 运行 使用 iPad Playgrounds:
在异步闭包中打印“foo”的简单代码import Foundation
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
print("foo")
}
但它无法在查看器中显示“foo”(出现一个可调整大小的小内嵌块)。
奇怪的是,
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
print("foo")
let _ = 0
}
有效。 怎么了?这是一个错误吗?
另外,有没有办法像 Xcode Playgrounds 那样显示带有打印输出的控制台?我发现小“查看器”使用起来有点麻烦。
提前致谢!
编辑:我检查了 Xcode Playgrounds 在查看器中使用第一个代码显示 (),并正确显示 "foo" 添加了 let _ = 0
。尽管如此,我在这两种情况下都可以看到输出 "foo",因为我在 Xcode 版本中有一个控制台输出。
对于您的控制台问题,cmd + shift + Y 将调出控制台区域,就像任何 Xcode 项目一样
关于正在发生的事情的更大问题...
asyncAfter函数的execute:
参数接受的闭包是() -> Void
类型。所以闭包是 returning Void, which is typedef'd to an empty tuple ()。所以查看器正在显示闭包的 return 值,一个空元组。