Obj-C:为什么我的图像不能在 NSImageView 中显示?

Obj-C: Why won't my image display in NSImageView?

我有一个带有空 NSImageView 的文档 window,并且我有一个连接到这个名为 *imageView 的插座。我还有 属性: NSImage *image.

NSImageView几乎占满了整个window。

在 windowControllerDidLoadNib 中:我调用了以下方法:

-(void)addImageToImageView {
  imageView = [[NSImageView alloc] init];
  imageView.image = image;
}

肯定有一张图片分配给了imageView.image,但它没有显示。我想也许是因为我在加载 window 之前将图像添加到视图中,但不应该在 window 之后 windowControllerDidLoadNib 运行 中的所有代码都有已加载?

非常欢迎任何帮助!

好的,所以:

不要分配 init IBOutlets,这些是对由 IB 实例化的对象的引用。简单地说 .xib 或 .storyboard 文件是以 XML 格式存储的信息,然后由您的应用程序自动取消存档(在引擎盖下的东西)。因此,您永远不应该分配初始化您在界面构建器中添加的对象。

您在上面所做的是将变量 *imageView 从引用 IB 中的内容更改为不在屏幕上的新 imageView 实例。

您应该查看一些教程。 youtube上有一些非常好的,搜索一下就可以了。