首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在CIKernel上使用iOS核心图像/QuartzCore类时出错

尝试在CIKernel上使用iOS核心图像/QuartzCore类时出错
EN

Stack Overflow用户
提问于 2012-02-16 12:28:05
回答 1查看 782关注 0票数 1

嗨,我正在尝试使用CIKernel

我不明白为什么我老是犯这样的错误:

AdriansFilter.m:23:29:错误:类消息的接收方'CIKernel‘是一个前向声明4 AdriansFilter.m:23:28:{23:28-23:62}:错误:没有已知的选择器'kernelsWithString:‘4的类方法

我尝试过导入QuartzCore框架,但仍然无法工作。我被困住了,因为我真的无法确定这里真正的问题是什么。有人能帮帮我吗?

我的h文件如下所示:

代码语言:javascript
复制
#import <Foundation/Foundation.h>
#import <QuartzCore/QuartzCore.h>

@interface AdriansFilter: CIFilter
{
    CIImage   *inputImage;
    CIColor   *inputColor;
    NSNumber  *inputDistance;
    NSNumber  *inputSlope;
}

@end

我的m文件看起来像这样

代码语言:javascript
复制
#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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-16 12:31:53

您还没有导入定义CIKernel接口的标头。通过搜索Apple developer文档,我找不到iOS的CIKernel类引用。这表明CIKernel类在iOS上不可用。

在Xcode中,单击源文件中的CIKernel将文本光标放在那里,然后打开Xcode窗口的右列(也称为实用程序),然后选择“快速帮助检查器”选项卡。如果选定的类可用于iOS,则应查看该类的文档和声明该类的头文件的引用。当我尝试使用在一个CIKernel项目中选择的iOS类时,我只会得到“”。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9311263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档