看板 MacDev 關於我們 聯絡資訊
各位大大好 目前我有一支舊的程式 當初寫的人都是用 alloc 的方式去做任何事情 像是 ABCLabel.text = [[NSString alloc] initWithString:@"XXX"]; 但是之後都沒有在 release 那個 NSString 所以會造成 memory leak 對嘛? 不知道我想的對不對 因為常常會造成 crash 我現在只要在 build 的時候勾選 ARC Yes 這樣就行了嘛 還是也需要手動去加入 autorelease@@? 如 ABCLabel.text = [[[NSString alloc] initWithString:@"XXX"] autorelease]; 感謝各位大大的收看... -- 走召石更白勺口拉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.2.251 ※ 編輯: sorkayi 來自: 122.117.2.251 (12/07 23:04)
darktt:請愛用[NSString stringWithForma:@"XXX"] 12/07 23:23
darktt: ^Format 12/07 23:24
有 我已經開始在修了 ※ 編輯: sorkayi 來自: 122.117.2.251 (12/07 23:31)
uranusjr:Xcode 有個 Convert to Objective-C ARC 的工具, 如果他 12/07 23:48
uranusjr:真的從頭到尾都只有 ini 沒有 release 的話套起來應該超 12/07 23:48
uranusjr:快, 你加了 autorelease 轉換的時候要修的地方還更多XD 12/07 23:48
darktt:不要太期待ARC,因為它什麼時候被釋放你都不知道 12/08 00:31
剛剛已經有用那個工具轉換了 不過在 addSubView 後 ibaction 都不能用了 才發現 viewcontroller 被 auto release.... ※ 編輯: sorkayi 來自: 122.117.2.251 (12/08 01:09)
uranusjr:所以原作者寫了 [self addSubview:viewController.view]; 12/08 01:37
uranusjr:這種東西...OMG HEE Z DOING EVERYTHING WRONGZ 12/08 01:39
u 大 我不懂你的意思 這個寫法是 A_ViewController 中 寫 B_ViewController* b = [[B_ViewController all] initWithNib......]; 然後 [self.view addSubView b.view]; 你的意思是說這樣寫不好嘛@@ ※ 編輯: sorkayi 來自: 36.239.202.219 (12/08 14:00)