Случайно исчезающая структура - PullRequest
0 голосов
/ 04 декабря 2009

Я создал класс Objective-C для взаимодействия с PostgreSQL с использованием libpq. В основном это работает, но у меня есть одна небольшая проблема - кажется, что связь пропадает случайно.

Этот класс настроен на открытие соединения при открытии окна и закрытие соединения до закрытия окна. По коду инициализации окна я открываю соединение и слушаю уведомления, чтобы закрыть соединение с помощью PQfinnish ().

Теперь, если я открою это окно, я могу выполнить столько запросов, сколько захочу. Но если я закрою его и открою снова, я получу ошибку EXC_BAD_ACCESS. Кажется, ошибка внутри libpq, но я понятия не имею, что я делаю неправильно - нет примеров для подражания, из-за которых немного сложнее следовать шаблонам.

Я полагаю, что проблема с объектом подключения, но я не могу точно выяснить, что, как кажется, все диагностические функции возвращают правильные значения.

Postgresql 8.0, работающий на последней версии OS X, новейшем Xcode и проекте, рассчитанном на 10,5

1 Ответ

0 голосов
/ 04 декабря 2009

Нашел ответ:

Код, вызвавший сбой, был вызван событием, которое было запущено из уведомления. Сбой произошел из-за того, что я не отменил регистрацию этого класса в центре уведомлений при закрытии окна.

Теперь я отменил регистрацию этого класса в центре, и все работает хорошо.

Не знаю, почему проблема отразилась на объекте соединения.

...