3

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

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

它不会自动完成它们中的任何一个——即使是那些编译的。

似乎有些东西坏了 - 但我不知道是什么,我也不知道如何修复它。总结一下:

  1. 我正在针对 OS X 10.6 构建 - 根据 Apple 的文档,10.5 包含这些文件
  2. 我添加了 Quartz 框架
  3. 我添加了 Quartzcore 框架
  4. 我正在导入:#import <Quartz/Quartz.h>

我检查了来自 Apple 的实际框架文件,Quartz/ImageKit显然缺少Apple 文档所说的应该存在的标题 :(。

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

还有什么我应该做的吗?

4

2 回答 2

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

ETC ....

自动完成将起作用!

于 2014-03-20T10:53:36.370 回答
0

这有帮助吗

好吧,在查看我的#import 语句后,我意识到问题出在一个奇怪的导入循环,我应该在其中使用@class。感谢您为我指明正确的方向!

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

恐怕答案可能是针对此类问题的更具体的论坛,以便找到有足够知识来回答问题的人

于 2011-11-15T14:12:29.393 回答