2011-05-19 2 views
1

У меня здесь странная проблема.Доступ к NSImageView, предоставляющий EXC_BAD_ACCESS

У меня есть класс, который я назову MainView. В MainView У меня есть один NSImageView, который я позвоню imageView. Я подключил это к представлению изображения через Interface Builder. Я также инициализировал экземпляр MainView в Interface Builder и подключил выход к этому экземпляру в другой класс с именем ivar mainView. Итак, я достигаю вид изображения, как это:

[mainView imageView] 

Итак, для теста я NSLog «d в imageView и возвратил адрес Objet. Все идет нормально.

Вот проблема: Я пытаюсь получить происхождение этого imageView, делая это:

NSPoint point = [[mainView imageView] frame].origin; 

Это должно работать, не так ли? Я получаю сообщение EXC_BAD_ACCESS (также получил сообщение SIGABRT один раз) с сообщением об ошибке в консоли: -[NSImage frame]: unrecognized selector sent to instance 0x1001d5fd0

Странная часть состоит в том, что эта всегда используемая работа просто прекрасна, все это. Я почти точно знаю, что это не проблема с IB, потому что я получаю адрес памяти, когда я регистрирую объект. Есть идеи?

+0

Я проверю и отправлю отчет. –

+0

Ура, спасибо! Пожалуйста, напишите свой комментарий в качестве ответа. Я закончил это глупо: 'mainView.imageView = [NSImage imageNamed: @" blah "];', в основном устанавливая NSImageView в NSImage. Вместо этого я переключился на метод 'setImage:', и все хорошо! –

+0

Смотрите эту ссылку: http://loufranco.com/blog/files/Understanding-EXC_BAD_ACCESS.html –

ответ

2

Сообщение об ошибке

- [NSImage кадр]: непризнанные селектор направлен например 0x1001d5fd0

imageView означает, что указывает на NSImage объекта вместо NSImageView объекта. Похоже, что где-то в вашем коде вы переназначаете выход imageView, указывая на экземпляр NSImage.

+0

Я приму его, как только он будет доступен. Хороший улов, и спасибо. –

Смежные вопросы