2012-03-15 60 views
2

我想创建一个可以在iPhone和OS X上用作数据源的基础对象。因此,我有这样的语句作为一个头文件:链接UIKit和AppKit

#ifdef TARGET_OS_IPHONE 
#import <UIKit/UITableView.h> 

@interface DataObject : NSObject<UITableViewDataSource> 
#endif 

#ifdef TARGET_OS_MAC 
#import <AppKit/NSTableView.h> 

@interface DataObject : NSObject<NSTableViewDataSource> 

#endif 

我现在的Xcode项目时使用了标准的苹果iPhone模板。我的问题是当我在“构建阶段”选项卡下选择“与库链接二进制文件”时,我只看到iPhone相关的框架。

当然,我可以选择其他然后浏览,但我不知道AppKit.Framework在哪里居住。任何人都可以指出我可以在哪里找到这个框架,或者我可以如何将项目链接到UIKit和AppKit

+0

使用finder查找框架:-)它应该足以搜索AppKit.h。 – 2012-03-15 14:33:41

+0

必须有一个休息日。 我发现它在 /系统/库/框架/ Appkit.Framework – hugo 2012-03-15 16:20:45

回答

5

我可以推荐一个稍微不同的设计吗?

您的DataObject应该仅与iOS和Mac OS X上存在的Foundation链接。它不包含任何数据源的方法。

然后在您的iOS应用程序目标中,您有一个DataObject类,它实现了UITableViewDataSource方法,并且在您的OS X应用程序目标中,您有一个DataObject实现NSTableViewDataSource方法的类别。

@interface DataObject(NSTableViewDataSource) <NSTableViewDataSource> 

用户界面代码在你的iOS和OS X的应用程序将是如此不同,你需要不同的目标,不管怎样,他们对相关的SDK每一个环节。

+0

优秀的设计建议。 – KPM 2012-07-27 00:37:59