2010-05-10 37 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