[問題] 如何做到類似Java的跨物件呼叫?

看板MacDev作者 (John)時間10年前 (2015/08/05 01:47), 編輯推噓5(502)
留言7則, 4人參與, 最新討論串1/2 (看更多)
各位前輩凌晨早, 我是一個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

08/05 02:31, , 1F
在. m最上面宣告 static var
08/05 02:31, 1F

08/05 02:31, , 2F
然後在 class 中寫方法存取它
08/05 02:31, 2F

08/05 02:34, , 3F
建議用 swift 有支援類別變數
08/05 02:34, 3F

08/05 11:12, , 4F
Singletone??
08/05 11:12, 4F

08/05 19:01, , 5F
看起來是singleton吧 static +延遲創始化?
08/05 19:01, 5F

08/08 03:36, , 6F
Objective C的靜態方法就是前面是+號起始
08/08 03:36, 6F

08/08 03:37, , 7F
-號起始的方法就是要先create Instance才能用的!
08/08 03:37, 7F
文章代碼(AID): #1LmFgUhV (MacDev)
文章代碼(AID): #1LmFgUhV (MacDev)