Почему я не могу использовать UIButton для запуска dismissModalViewController? - PullRequest
0 голосов
/ 12 июля 2010

В настоящее время у меня есть три modalViewControllers, и у каждого есть свои собственные способы отклонения.

Для двух из них мне нужно использовать UILabel, а затем использовать метод touchesEnded:, чтобы определить, был ли релиз в пределах правильнойarea - затем вызовите, чтобы закрыть modalViewController.

Однако у меня есть один, где я могу просто использовать UIButton, и он отлично работает.

Я просто не могу понять, почему, черт возьми, я могуНе используйте UIButton для всех из них.Я продолжаю получать сообщение об ошибке:

objc[38738]: FREED(id): message release sent to freed object=0x5214f70
Program received signal:  “EXC_BAD_INSTRUCTION”.

Я предполагаю, что это связано с попыткой доступа к чему-то, что было выпущено (дух) - но у меня ничего не происходит, кроме - (IBAction) closeWindow: (id) метод отправителя {}, который вызывает:

[self dismissModalViewControllerAnimated:YES];

Любая помощь?

Ответы [ 2 ]

1 голос
/ 13 июля 2010

Вы должны попробовать запустить инструмент зомби, чтобы увидеть, куда вы отправляете сообщения об освобожденном объекте. Из Xcode просто зайдите в Run-> Run with Performance Tool-> Zombies, и это запустит инструменты с правильной настройкой.

Вы, вероятно, либо выпускаете (или автоматически выпускаете) объект, который не должны (потому что у вас его нет), либо не можете сохранить то, что должны. Инструменты помогут вам узнать где.

0 голосов
/ 14 июля 2010

Если людям интересно, как это работает - я обнаружил свою проблему:

Я выпускал объект, который не сохранил.

Вот мой путь к успеху:http://www.iphonedevsdk.com/forum/iphone-sdk-development/52946-why-can-i-not-use-uibutton-dismiss-modalviewcontroller-consistently.html

...