1

I use playground and try to get message "show : Hello" in below simple code. However, nothing shows, but there is no compiler error. I don't where the problem is.

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()
4

3 回答 3

0

Playground 不显示来自println. 通过 View > Assistant Editor 菜单打开 Assistant Editor,您应该会看到它。

于 2014-06-20T17:10:43.770 回答
0

你的代码对我有用。如果你在操场上,你必须打开时间线才能看到输出println()

打开时间线

顺便说一句:按照惯例,类名使用带有首字母大写字母的 CamelCase。

于 2014-06-21T03:16:00.927 回答
0

您的类 - “服务器” - 与您的客户端变量具有相同的名称。所以我不确定你说的时候会发生什么

   s = server(str: "Hello", delegate: self)

<剪辑>

   let server = s!
   server.service()       

我将您的课程名称更改为S erver & C lient,它按预期工作。

于 2014-06-20T20:54:25.473 回答