我这里有一个奇怪的问题。
我有一门课,我将其称为MainView
。在MainView
中,我有一个NSImageView
,我将其称为imageView
。我已经通过Interface Builder将其连接到图像视图。我还已经在Interface Builder中初始化了MainView
的实例,并将该实例的插座连接到具有icc名称的mainView
另一个类。因此,我这样访问图像视图:
[mainView imageView]
因此,为了进行测试,我
NSLog
选择了imageView
,它返回了对象的地址。到目前为止,一切都很好。这是问题所在:现在,我正在尝试通过执行以下操作获取该
imageView
的来源:NSPoint point = [[mainView imageView] frame].origin;
这应该工作,对不对?我在这里收到EXC_BAD_ACCESS(一次也收到SIGABRT)警告,控制台出现错误:
-[NSImage frame]: unrecognized selector sent to instance 0x1001d5fd0
奇怪的是,这总是可以正常工作,但是我更改了一些ivar名称,这似乎使整个事情搞砸了。我几乎可以肯定地知道这不是IB的联播问题,因为我在记录对象时得到了一个内存地址。有任何想法吗?
最佳答案
错误讯息
-[NSImage帧]:无法识别的选择器发送到实例0x1001d5fd0
表示imageView
指向NSImage
对象而不是NSImageView
对象。您似乎在代码中的某个地方正在重新分配imageView
出口,使其指向NSImage
实例。
关于objective-c - 访问提供EXC_BAD_ACCESS的NSImageView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6052551/