看板 MacDev 關於我們 聯絡資訊
iOS 4.1 sdk 我有個簡單的object 裡面有 a,b,c NSString, property@(retain,noatomic) 在dealloc裡 release這三個NSString 在simulator裡沒問題 在device上如果是用build and GO 也就是有debug message也沒問題 但是如果是單獨在device上run 就會crash 如果把這些NSString的release拿掉 就沒問題 這些NSString的來源是FMDB的result trace了一下 是用 const char * xx = ..... [NSString stringWithUTF8string:xx] 回傳出來的 請問各位 有沒有什麼想法或是實驗的方向可以做? property改成copy會比較適合這種情況嗎? 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.222.246
appleway:[NSString stringWithUTF8string:xx] 會autorelease吧 01/03 14:20
offname:留給 autorelease pool 就好了。 01/03 14:28
CharlieH:請問一下 我的setter是retain那個string,所以不是應該要 01/03 14:37
CharlieH:release他嗎? 01/03 14:37
popcorny:沒錯..你retain就要release... 01/03 15:38
popcorny:我猜是某個地方的bug 已經不小心把這個string release了 01/03 15:38
popcorny:你可以在release前..check retain count 01/03 15:39
CharlieH:奇怪的是 為什麼只有device單獨run的時候才會crash? 01/03 15:44
※ 編輯: CharlieH 來自: 122.116.222.246 (01/03 15:45)
CharlieH:而且我有用NSZombie 但是只要有debug message就不會有事 01/03 15:57
CharlieH:目前解決了 因為我FMResultSet沒有call close method 01/03 19:26
CharlieH:但是模擬器和device的行為不一樣還滿奇怪的 01/03 19:26