2014-07-03 26 views
0

我可以看到助理编辑器,但使用println()不会将任何内容打印到控制台,即使println("hello world")也不会打印任何内容!如何使用Swift游乐场打印到控制台?

这里是一个示例代码(我不关心内存泄漏)

class Person { 
    let name: String 
    init(name: String) { 
     self.name = name 
     println("\(name) is being initialized") 
    } 
    deinit { 
     println("\(name) is being deinitialized") 
    } 
} 

var reference1: Person? 
var reference2: Person? 
var reference3: Person? 

reference1 = Person(name: "John Appleseed") 
reference2 = reference1 
reference3 = reference1 

reference1 = nil 
reference2 = nil 
reference3 = nil 

这里是一个快照

enter image description here

它只是一个Xcode 6 beta 2版本中的问题?

+0

可能重复[内存泄漏在swift playground/deinit {}不一致调用](http://stackoverflow.com/questions/24021340/memory-leaks-in-the-swift-playground-deinit-not-所谓的一致) – Grimxn

+0

不,不,不关心内存泄漏,这只是一个奇特的示例代码,'println()'不适用于我在xcode 6 beta 2上! – Carpsen90

+1

你说得对,它也不适用于我。尽管在REPL中工作正常。你应该向Apple提出一个错误。 –

回答

0

发生这种情况是因为Xcode 6处于测试阶段。游乐场内的各种事物都会间歇性地失败,您的代码没有任何问题。

0

当我在游乐场尝试时(确切复制&粘贴)I 看到正在打印的init中的println。你不会看到deinit,因为它实际上不会在操场上被调用。

请参阅this问题/回答。

+0

deinitializer会在'reference3 = nil'之后调用,这只是一个示例代码,即使是'println“hello world!”'也不适合我,这是什么问题? – Carpsen90

+0

@ Carpsen90重新启动Xcode,它应该没问题。 – Greg

+0

@Greg我一直在重新启动Xcode! – Carpsen90