2012-03-15 61 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