作者KKFN (John)
看板MacDev
標題[問題] 如何做到類似Java的跨物件呼叫?
時間Wed Aug 5 01:47:05 2015
各位前輩凌晨早,
我是一個iOS開發新手,
程式基礎不強,頂多一點點Java基礎。
還記得在Java,
我可以在class a宣告物件或是方法,並把它設成static,
這樣我在任何其他的class裡頭,
只要import進來,
就能直接呼叫並使用這個物件或是方法。
請問Objective C能做到相同的方式嗎?
因為我找了很多資料,
看到的結論多半都是「objective C不支援class variables」
我曾試過將我要的靜態變數寫在別的檔裡面,
等到我要使用時再宣告並使用,
但是即使我加了static,
等到我到別的controller再次宣告並呼叫時,
裡面的值似乎都因為我第二次的宣告而被全數清空(初始化?)
不知道有沒有前輩能指導一下?
先謝謝各位了!
-----
Sent from JPTT on my PANTECH IM-A860L.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.17.9.220
※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1438710430.A.ADF.html
推 ckvir: 在. m最上面宣告 static var 08/05 02:31
→ ckvir: 然後在 class 中寫方法存取它 08/05 02:31
推 ckvir: 建議用 swift 有支援類別變數 08/05 02:34
推 SwiftLang: Singletone?? 08/05 11:12
推 santaclub: 看起來是singleton吧 static +延遲創始化? 08/05 19:01
推 mraaa: Objective C的靜態方法就是前面是+號起始 08/08 03:36
→ mraaa: -號起始的方法就是要先create Instance才能用的! 08/08 03:37