嗨,我正在尝试使用CIKernel类
我不明白为什么我老是犯这样的错误:
AdriansFilter.m:23:29:错误:类消息的接收方'CIKernel‘是一个前向声明4 AdriansFilter.m:23:28:{23:28-23:62}:错误:没有已知的选择器'kernelsWithString:‘4的类方法
我尝试过导入QuartzCore框架,但仍然无法工作。我被困住了,因为我真的无法确定这里真正的问题是什么。有人能帮帮我吗?
我的h文件如下所示:
#import <Foundation/Foundation.h>
#import <QuartzCore/QuartzCore.h>
@interface AdriansFilter: CIFilter
{
CIImage *inputImage;
CIColor *inputColor;
NSNumber *inputDistance;
NSNumber *inputSlope;
}
@end我的m文件看起来像这样
#import "AdriansFilter.h"
@implementation AdriansFilter
static CIKernel *hazeRemovalKernel = nil;
- (id)init
{
if(hazeRemovalKernel == nil)
{
NSBundle *bundle = [NSBundle bundleForClass: [self class]];
NSString *code = [NSString stringWithContentsOfFile: [bundle
pathForResource: @"MyHazeRemoval"
ofType: @"cikernel"]];
NSArray *kernels = [CIKernel kernelsWithString: code];
hazeRemovalKernel = [kernels objectAtIndex:0];
}
return [super init];
}
@end发布于 2012-02-16 12:31:53
您还没有导入定义CIKernel接口的标头。通过搜索Apple developer文档,我找不到iOS的CIKernel类引用。这表明CIKernel类在iOS上不可用。
在Xcode中,单击源文件中的CIKernel将文本光标放在那里,然后打开Xcode窗口的右列(也称为实用程序),然后选择“快速帮助检查器”选项卡。如果选定的类可用于iOS,则应查看该类的文档和声明该类的头文件的引用。当我尝试使用在一个CIKernel项目中选择的iOS类时,我只会得到“”。
https://stackoverflow.com/questions/9311263
复制相似问题