作者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