NSBitmapImageRep 加载图像
NSBitmapImageRep load image
我是 objective C 的新手,按照我找到的一些说明进行操作,但此刻我卡住了。
我正在尝试使用以下代码加载图像:
NSBitmapImageRep *img;
img = [NSBitmapImageRep imageRepWithContentsOfFile:filename];
"filename" 是一个有效的指针。但是编译器告诉我:
Incompatible pointer types assigning to 'NSBitmapImageRep *' from 'NSImageRep * _Nullable'
我错过了什么或做错了什么?
imageRepWithContentsOfFile:
是一个工厂方法。根据文档,它 returns "An initialized instance of an NSImageRep subclass, or nil if the image data could not be read." 来自 NSImageRep.h
:"If sent to a subclass, does this just for the types understood by that subclass."。因此,您只需要将结果转换为指定类型:
NSBitmapImageRep *imgRep = (NSBitmapImageRep *)[NSBitmapImageRep imageRepWithContentsOfFile:filename];
请注意,通常您不需要自己创建 NSBitmapImageRep
个实例,可以使用 NSImage
.
我是 objective C 的新手,按照我找到的一些说明进行操作,但此刻我卡住了。
我正在尝试使用以下代码加载图像:
NSBitmapImageRep *img;
img = [NSBitmapImageRep imageRepWithContentsOfFile:filename];
"filename" 是一个有效的指针。但是编译器告诉我:
Incompatible pointer types assigning to 'NSBitmapImageRep *' from 'NSImageRep * _Nullable'
我错过了什么或做错了什么?
imageRepWithContentsOfFile:
是一个工厂方法。根据文档,它 returns "An initialized instance of an NSImageRep subclass, or nil if the image data could not be read." 来自 NSImageRep.h
:"If sent to a subclass, does this just for the types understood by that subclass."。因此,您只需要将结果转换为指定类型:
NSBitmapImageRep *imgRep = (NSBitmapImageRep *)[NSBitmapImageRep imageRepWithContentsOfFile:filename];
请注意,通常您不需要自己创建 NSBitmapImageRep
个实例,可以使用 NSImage
.