我已经和这个问题斗争了一段时间了。基本上,我正在将图像转换为NSData,这样我就可以将其发送到服务器。我以前用过的代码,但出于某种原因,我在这上面得到了一个ARC错误。错误发生在我声明imageData变量的那一行。
注意: myImage将传递给该方法。
- (void)uploadImage:(NSImage *)myImage {
NSData *imageData = UIImageJPEGRepresentation(myImage, 1.0);
// Do something...
}我得到一个错误和两个警告
Error: Implicit conversion of 'int' to 'NSData *' is disallowed with ARC
Warning: Implicit declaration of function 'UIImageJPEGRepresentation' is invalid in C99
Warning: Incompatible integer to pointer conversion intializing 'NSData * __strong' with an expression of type 'int'有什么想法吗?
发布于 2012-07-30 07:46:36
您可能需要包括相关的标头:
#import <UIKit/UIKit.h>在C99之前,如果您调用了一个编译器尚未看到其声明的函数,则编译器将编译该函数,就好像该函数被声明为int UIImageJPEGRepresentation()一样。C99不允许这样做,但似乎编译器仍在应用旧的解释(或者编译器处于C99之前的模式;我不确定默认值是什么),因此出现了ARC错误。
https://stackoverflow.com/questions/11713908
复制相似问题