2010-05-10 43 views
1

在我開始免責聲明之前,我應該添加一點免責聲明,我對Cocoa開發和C一般都比較陌生。使用Cocoa查詢數據庫

但是我確實有Aaron Hillegass的'可可編程Mac OS X第3版'的副本,我正在使用它作爲基礎,如果有人有副本,我正在使用'AmaZone'示例頁面346作爲模板和基礎。


我試圖建立一個小的客戶端應用程序,需要一個搜索字符串,然後從相應的數據庫中顯示的結果。

該數據庫將包含一個:文件列表,它們的位置,描述&創建日期,所以目前的字段號和類型將保持不變。


上SO四處尋找後,我看到的東西,如:

NSURL *myURL = [NSURL URLWithString:@"http://www.myserver.com/results.php"]; 
NSArray *sqlResults = [[NSArray alloc] initWithContentsOfURL:myURL]; 

我以前用PHP工作,所以看到這個之後,我現在的想法是創建服務器查詢上一個PHP腳本數據庫,並創建一個XML輸出。

而對於XML響應,只需解析它即可。

這會好嗎?因爲任何人都可以看到任何重大缺陷,我不能。

我知道有一些數據庫包,我看了一下BaseTen Postgres的,但作爲相對較新的這一點,也不想在我的頭上來進入。

或者如果有其他人有任何其他的建議和想法,他們將不勝感激。

+2

我建議使用JSON與您的Web服務而不是XML進行交互。它在服務器和客戶端都重量更輕,更容易使用。這裏有一個Cocoa框架:http://code.google.com/p/json-framework/ – 2010-05-11 02:58:49

回答

2

如果你的數據庫服務器上,那麼這是一個合理的做法,正是蘋果做與iTunes(只有他們使用的WebObjects,不是PHP,足夠充分的理由)。

如果數據庫位於Mac OS X機器上,那麼您應該查看CoreData(同樣在Aaron的書中,在另一章中)。

要提高你的榜樣,你應該NSURLConnection使用異步方法,這將涉及看着委託協議。

+1

我認爲你的意思是異步方法。 – 2010-05-11 02:56:56

+0

我做到了。謝謝,並糾正。 – 2010-05-11 07:38:52