我使用游乐场并尝试获取消息"显示:你好"在下面的简单代码中。但是,没有显示,但没有编译器错误。我不知道问题出在哪里。
protocol showSome{
func show(str:String)
}
class client: showSome{
var s: server?
init(){
s = server(str: "Hello", delegate: self)
}
func setup(){
let server = s!
server.service()
}
func show(str: String) {
println("show: \(str)")
}
}
class server{
let delegate: showSome?
let str: String
init(str: String, delegate: showSome){
self.delegate = delegate
self.str = str
}
func service(){
let d = delegate!
d.show(str)
}
}
var c = client()
c.setup()
答案 0 :(得分:0)
Playground不显示println
的输出。通过视图>打开助理编辑器助理编辑器菜单,你应该看到它。
答案 1 :(得分:0)
您的班级 - “服务器” - 与您客户的变量同名。所以我不确定当你说
时会发生什么 s = server(str: "Hello", delegate: self)
<剪断>
let server = s!
server.service()
我将班级名称更改为 S erver& C lient,它按预期工作。
答案 2 :(得分:0)
您的代码适合我。如果您在操场上看到输出转到println()
btw:通过约定,类名使用带有初始大字母的CamelCase。