为啥我的 Printable 实现在 Swift 操场上不起作用?
Posted
技术标签:
【中文标题】为啥我的 Printable 实现在 Swift 操场上不起作用?【英文标题】:Why is my Printable implementation not working in Swift playground?为什么我的 Printable 实现在 Swift 操场上不起作用? 【发布时间】:2015-01-18 12:36:08 【问题描述】:在 Swift 游乐场中考虑这段代码:
import Cocoa
class Thing: Printable
let name: String
init()
name = "something"
var description: String return name
let a = Thing()
println("hello, \(a)")
作为图片:
预期:我希望最后一行打印“hello, something”。
观察到:它打印“hello, __lldb_expr_1.Thing”,就好像我没有实现 Printable 协议一样。
代码实际上在真正的 ios 应用程序的上下文中工作,它使用 Printable 协议按预期打印“hello, something”。
为什么这段代码没有打印出我在操场上所期望的内容?这是游乐场的限制吗?
【问题讨论】:
是的,这似乎是操场的限制,正如这里注意到的***.com/a/27830622/1187415:“我发现 println 和 debugPrintln 都使用描述 if-and-only-if 类下降来自 NSObject。” 有趣。是的,当我从 NSObject 继承时,它在 Playground 中工作。但感觉它也应该在没有的情况下工作。我正在关注 WWDC 2014 的 Session 404 “Advanced Swift”。它没有专门讨论 Playgrounds,但它确实使用这种方法来记录不继承自 NSObject 的 Swift 对象。 是时候提交另一个错误报告了 :) 【参考方案1】:我认为这个错误已在 Swift 1.2 中修复
【讨论】:
以上是关于为啥我的 Printable 实现在 Swift 操场上不起作用?的主要内容,如果未能解决你的问题,请参考以下文章