1

私はプレイグラウンドを使用し、以下の簡単なコードで「show : Hello」というメッセージを取得しようとしています。ただし、何も表示されませんが、コンパイラ エラーはありません。問題がどこにあるのかわかりません。

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

クラス「サーバー」は、クライアントの変数と同じ名前です。だから言ったらどうなるかわからない

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

<中略>

   let server = s!
   server.service()       

クラスの名前をServer & Clientに変更しましたが、期待どおりに動作します。

于 2014-06-20T20:54:25.473 に答える
0

Playground は からの出力を表示しませんprintln。[表示] > [アシスタント エディター] メニューからアシスタント エディターを開くと、表示されるはずです。

于 2014-06-20T17:10:43.770 に答える