为什么我会得到“No -renderInContext:find方法”警告?

我在-renderInContext得到一个编译器警告:

- (UIImage *) imageFromView:(UIView *)view { UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0); [view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage * img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return img; } 

我在项目框架中有QuartzCore,代码工作。 我如何修复代码,使其停止给我警告?

我得到的确切警告是

 warning: no '-renderInContext:' method found warning: (Messages without a matching method signature warning: will be assumed to return 'id' and accept warning: '...' as arguments.) 

尝试将Quartz框架导入到您的应用程序中。

然后加,

#include <QuartzCore/QuartzCore.h>

到您的应用程序。

你的项目中是否有QuartzCore.framework?

我想这是因为CALayer类头在QuartzCore框架中。

在Xcode中,在Frameworks组中,添加QuartzCore框架,它应该没问题。

然后, 在这里看到我的post ,如何在每个源文件中包含头文件。 现在不是用于Core Data,而是用于QuartzCore(用完全相同的方式)