作者zonble (zonble)
看板MacDev
標題Re: [問題] 使用 NSBundle 載入 Nib
時間Sat Jun 26 08:27:01 2010
※ 引述《appleway (蘋果愛天空)》之銘言:
: 我想載入的Nib是About。aboutPanel是IBOutlet NSWindow *,也指向Panel window了。
: 這樣的寫法。第一次載入about panel window是正常的,但是將它關掉後,
: 試圖重新再開啟,程式就會掛掉。
1. 遇到 crash 的時候,Xcode 會告訴你為什麼會 crash,
在遇到這類狀況的時候,最好先學一下怎麼用 Xcode debug。
2. 我猜想你的 about panel 是不是在 xib 檔案當中,把
「Release when Close」這個屬性給打開了,於是,在關閉
視窗的時候,就已經放掉了這個 window 原本的記憶體位置,
當你下一次呼叫 aboutWindow 的時候,就出現 Bad Access 錯誤。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.194.31
1F:推 appleway:感激。的確是Release when Close,謝謝~ 06/26 09:13
2F:推 Blueshiva:這真是經驗談,不過原po的文章怎麼不見了 =_= 06/26 14:33
3F:推 appleway:因為問題的核心描述,既然這邊有了。就不用留了。 06/26 22:26
4F:推 Blueshiva:可是我覺得你找錯誤的過程很重要耶 >"< 06/26 22:53
5F:推 appleway:因為我知道哪邊會當掉。進了GDB用bt 呼叫過的func又雜 06/27 00:22
6F:→ appleway:我應該要乖乖的設定一些標記會更容易知道原因。 06/27 00:23
7F:→ appleway:不過經過思考後,我也想到應該是關視窗時被release> 06/27 00:24
8F:→ appleway:我原本要用notification,讓視窗被關掉時去做一些事情 06/27 00:25
9F:→ appleway:後來沒做到想要的。我真的沒注意到xib有release w/close 06/27 00:27
10F:→ appleway:問題一下就立刻解決了~ 06/27 00:28