我正在尝试创建一个基本对象,它可以在iPhone和OS上用作数据源。因此,我将有一个包含以下语句的头文件:
#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的项目链接
发布于 2012-03-16 01:12:03
我能推荐一个稍微不同的设计吗?
您的DataObject应该只链接到同时存在于iOS和Mac上的基础。它不包含用于这两个数据源的方法。
然后,在您的iOS应用程序目标中,您有一个关于DataObject的类别,它实现了UITableViewDataSource方法;在您的OS X应用程序目标中,您有一个关于DataObject的类别,它实现了NSTableViewDataSource方法。
@interface DataObject(NSTableViewDataSource) <NSTableViewDataSource>你的iOS和OS应用程序中的用户界面代码将是如此不同,以至于你无论如何都需要不同的目标,并且它们都与相关的SDK相关联。
https://stackoverflow.com/questions/9721486
复制相似问题