[問題] 如何多個view共用同一個socket

作者: bjk (Up2u)   2018-03-28 23:35:32
我目前在嘗試寫一個連線ptt的app
目前遇到一個問題就是在不同的view如何
把使用者的input送到同一個socket
我目前的作法是有一個最原始的ViewController1
ViewController1: UIViewController
{
var socket: GCDAsyncSocket!
var destinationVC2 : ViewController2!
}
每當需要performSegue
則會把
destinationVC2.socketHandler = self
socketHandler就是在destinationVC2裡面的ViewController1
class ViewController2: UITableViewController {
class ViewController2: UITableViewController {
var socketHandler : ViewController1!
}
到目前這樣好像都還可以
但是當我要從ViewController2 performSegue
的時候就越來越複雜了
想請問一下大大們都是怎麼處理這樣的行為
感恩
作者: yr (Sooner Born Sooner Bred)   2018-03-28 23:40:00
Singleton
作者: yllan (藍永倫)   2018-03-29 00:26:00
socket 一直傳下去就好?Singleton 和 global variable 差不多的東西
作者: bjk (Up2u)   2018-03-29 08:28:00
謝謝
作者: annies5 (念渝)   2018-03-29 11:09:00
我會把VC1, VC2, Socket放在同一個class去做處理
作者: ckvir (ckvir)   2018-03-29 20:35:00
用extension 加一個socket 類別變數到UIView呢?這樣每個class 都能用
作者: annies5 (念渝)   2018-03-30 11:46:00
樓主應該是想同一連線有2個不同的VC, 如果把Socket放在其中之一,另一個要取用時就很困擾,因此不如把Socket,VC全部放在同一位階.
作者: ckvir (ckvir)   2018-03-30 12:17:00
用extension 不是把socket 放在同個view啊
作者: tom19830924 (Tom Hsu)   2018-03-31 11:57:00
上面就有人建議你singleton了
作者: Teferi (太費力)   2018-04-01 11:52:00
就把你的GCDAsyncSocket放在singleton的class裡面呼叫singleton怎麼做,Google的到很多
作者: bjk (Up2u)   2018-04-01 12:09:00
3q3q按照T大的方法 可以了請問如果我要送 上下左右 要用什麼呢Y"\\u2190" 送這個好像不行 http://xahlee.info/comp/unicode\u{2190} 送這個也不行
作者: keith222 (Keith)   2018-04-03 09:56:00
是要寫ptt 連線程式喔?xd
作者: uranusjr (←這人是超級笨蛋)   2018-04-03 13:22:00
BBS 要送 VT100 escape codes

Links booklink

Contact Us: admin [ a t ] ucptt.com