C 随机消失结构

C 随机消失结构,c,objective-c,cocoa,postgresql,libpq,C,Objective C,Cocoa,Postgresql,Libpq,我已经创建了一个Objective-C类,使用libpq与PostgreSQL接口。它基本上可以工作,但我有一个小问题-连接似乎随机消失 此类设置为在打开窗口时打开连接,并在窗口关闭前关闭该连接。在窗口的init代码中,我打开连接并侦听通知,以便使用PQfinnish()关闭连接 现在,如果我打开该窗口,我可以运行任意数量的查询。但是如果我关闭它并再次打开它,我会得到一个EXC_BAD_访问错误。错误似乎在libpq内部,但我不知道我做错了什么-没有可以遵循的示例,这使得遵循模式有点困难 我相信

我已经创建了一个Objective-C类,使用libpq与PostgreSQL接口。它基本上可以工作,但我有一个小问题-连接似乎随机消失

此类设置为在打开窗口时打开连接,并在窗口关闭前关闭该连接。在窗口的init代码中,我打开连接并侦听通知,以便使用PQfinnish()关闭连接

现在,如果我打开该窗口,我可以运行任意数量的查询。但是如果我关闭它并再次打开它,我会得到一个EXC_BAD_访问错误。错误似乎在libpq内部,但我不知道我做错了什么-没有可以遵循的示例,这使得遵循模式有点困难

我相信connection对象似乎有问题,但我无法确切地找出原因,因为所有诊断函数似乎都返回了正确的值

在最新的OS X、最新的Xcode和针对10.5的项目上运行的Postgresql 8.0找到了答案:

崩溃的代码是从通知引发的事件调用的。崩溃是因为我在关闭窗口时没有从通知中心注销该类

我现在从中心注销了那个班,一切都很顺利


但是,不知道为什么问题会反映在连接对象上。

您能发布代码吗?您确定重新打开窗口时正在调用init吗?是否尝试设置断点等以确认?