IKImageBrowserItem无法找到协议声明

时间:2011-11-06 17:21:03

标签: xcode4 imagekit

除了ImageKit类之外,XCode4中的其他所有内容都能正常工作。

在Apple的教程之后,所有类和协议以“IKImage”开头“未找到” - 它将针对其中一些(例如IKImageBrowserView)进行编译,但其他人甚至不会编译 - 例如协议IKImageBrowserItem。

它不会自动完成任何一个 - 甚至是那些编译的。

似乎有些东西被打破 - 但我不知道是什么,我不知道如何解决它。总结一下:

  1. 我正在构建针对OS X 10.6 - 根据Apple的文档,10.5包含这些文件
  2. 我添加了Quartz framework
  3. 我添加了Quartzcore framework
  4. 我正在导入:#import< Quartz / Quartz.h>
  5. 我已经检查了Apple的实际框架文件,并且Quartz / ImageKit 明显缺少 Apple的文档应该出现的标题:(。

    注意:在我的Xcode4安装中没有其他任何东西丢失或损坏 - 我开发OS X 32和64位应用程序,以及iPhone和iPad应用程序都很好。

    我应该做的其他事情吗?

2 个答案:

答案 0 :(得分:1)

您不必将IKImageBrowserItem委托与您自己的类链接。

@interface MyOwnClass : NSObject/*<NSImageBrowserKit>*/ 

这是不可能的,因为标题ImageKit.h不公开。

但是,当您添加Quartz框架时,IKImageBrowserItem的协议已经链接到NSObject类,然后链接到您自己的类。

Apple已经制作了像这样的IKImageBrowserItem协议(在ImageKit / IKImageBrowserView.m文件中):

@interface NSObject (IKImageBrowserItem)

事实上,这个协议是NSObject类的扩展。

您只需在自己的类实现中直接实现IKImageBrowserItem协议的选择器。

@implementation MyOwnClass

- (NSString *)  imageUID
{
    /*your implementation*/
}

- (NSString *)imageRepresentationType
{
    /*your implementation*/
}

@end

等......

自动完成功能正常运行!

答案 1 :(得分:0)

Does this help

  

好吧,看了我的#import语句后,我意识到了   问题是一个奇怪的导入循环,我应该使用@class。   谢谢你指出我正确的方向!

     

这里的问题看起来如此简单,这很有趣。

也许接下来,我担心,这个问题的答案可能是一个更具体的论坛,可以找到那些有足够知识来回答这个问题的人