我对目标C非常陌生,并遵循了我发现的一些指示,但此刻我被卡住了。
我试图用以下代码加载图像:
NSBitmapImageRep *img;
img = [NSBitmapImageRep imageRepWithContentsOfFile:filename];“文件名”是一个有效的指针。但是编译器告诉我:
Incompatible pointer types assigning to 'NSBitmapImageRep *' from 'NSImageRep * _Nullable' 我错过了什么或者做错了什么?
发布于 2016-02-28 11:02:53
imageRepWithContentsOfFile:是一种工厂方法。根据文档,它返回“NSImageRep子类的初始化实例,如果无法读取图像数据,则返回零”。在NSImageRep.h中:“如果发送到子类,则只为该子类所理解的类型执行此操作。”因此,只需要将结果强制转换为指定的类型:
NSBitmapImageRep *imgRep = (NSBitmapImageRep *)[NSBitmapImageRep imageRepWithContentsOfFile:filename];注意,通常您不需要自己创建NSBitmapImageRep实例,并且可以使用NSImage。
https://stackoverflow.com/questions/35681031
复制相似问题