看板 MacDev 關於我們 聯絡資訊
ARC 開啟之後, 是不是就可以不用處理記憶體的釋放呢? 看文件都有說到有 alloc 就要自己release該物件. 在ARC的模式之後, release/dealloc 都會被 compiler擋掉. 爬文之後,瞭解到compiler會自動安插 release 的語法. 由於之前用C寫了很久,自己 alloc 卻沒有自己 free 掉的話, 總覺得這樣寫不太好. 還是說可以相信compiler的智慧呢? 另一個是宣告的問題. 在寫 ui 程式的時候, 如果有使用到自己寫的class, 要在interface裡面寫宣告嘛? 還是參考 UIButton 之類的元件,只要寫 @property就好? 我自己的實驗結果是寫宣告, 但是UI的元件可以不用在interface裡面宣告 就可以取得instance呢 ([self mybtn]), 是因為@synthesize 產生的 getter會產生instance嘛? 先謝謝各位的回答了. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.242.153.31
atst2:宣告跟"型別"有關,一定要有. UIxxx不是沒有宣告,而是被 11/24 11:33
atst2:宣告在UIKit.h中。Xcode幫你產生的.h檔中已經有引入UIKit 11/24 11:34
atst2:的宣告了. 11/24 11:34
alongalone:原來如此;那請教self.myIns 跟 [self myIns]的差異是 ? 11/24 11:41
alongalone:我有爬了一下文,還是有點模糊.我覺得兩個還是差不多 11/24 11:41
alongalone:自己回答,這兩個是等價的... 11/24 16:57
iwayne:不見得等價。self.myIns是呼叫setter,像[self SetmyIns]; 11/24 21:47
iwayne:如果你另外在自己類別裏寫個myIns的函式,再試試,就能了解 11/24 21:48
alongalone:謝謝樓上的大大....沒錯是等同於 setter的method.. 11/24 22:25
atst2:self.myIns == [self setMyIns:object] || [self myIns] 11/24 23:28
atst2:也就是說,依狀況不同,會有不同的意思 11/24 23:28
atst2:如果是self.myIns = Ins;時,相當於Setter; 11/24 23:29
atst2:但Ins = self.myIns; 時,相當於Getter. 11/24 23:29
alongalone:原來是這樣..Orz,那我想簡單一點的話,就當作是變數操作 11/24 23:49
alongalone:http://tinyurl.com/83rh7gz 講解ARC的細節 11/25 11:06
alongalone:重點是適合beginner的,英文還滿簡單讀的 11/25 11:07