iOS开发。 MySQL的? SQLite的?什么是最好的方式?

时间:2012-10-26 11:13:11

标签: mysql objective-c ios sqlite

我需要创建一个与远程数据库链接的应用程序! mysql是最好的解决方案吗? Sqlite是唯一的本地解决方案吗?

我使用以下方法,我想知道它是否是最好的方法!

NSString *evento = @"1";
NSString *filtro = @"CAC2";

NSString *strURL = [NSString   
stringWithFormat:@"http://www.xxxxxxx.com/Scripts/Evento/WIGriceviTipo.php?  
evento=%@&filtro=%@",evento, filtro];

NSData *dataURL = [NSData dataWithContentsOfURL:
               [NSURL URLWithString:strURL]];

NSString *strResult = [[NSString alloc] initWithData:dataURL   
encoding:NSUTF8StringEncoding];

strResult = [strResult stringByTrimmingCharactersInSet:[NSCharacterSet       
whitespaceAndNewlineCharacterSet]];

mostra.text=strResult;

NSLog(@"%@", strResult);

3 个答案:

答案 0 :(得分:4)

为什么不使用Core Data?我做了很多远程数据库交互,并将CD用于本地存储,只是将所有数据传递给消化它的Web服务,检查数据完整性,然后将数据传递给数据库。

Core Data比您想象的更容易学习,如果您使用像Magical Record这样的第三方库,那就更容易了。

就Web服务器数据库而言,如果您使用的是基于Linux的平台,MySQL是最佳选择(IMO),如果您使用Windows Server路由,SQL Server将成为一个选项。

答案 1 :(得分:0)

SQLite不应该用于remotelly。来自doc:

  

如果您有许多客户端程序通过网络访问公共数据库,则应考虑使用客户端/服务器数据库引擎而不是SQLite。

在您的代码中,您可以使此请求异步,因为您可能在检索数据时阻止主线程。您可以使用GCD并将dataWithContentsOfURLdispatch_async括起来或改为使用NSURLConnection类。

答案 2 :(得分:0)

可以远程使用不同版本的SQLLite,最好在移动应用程序开发中使用SQLLite数据库,因为它占用的内存很少,无法存储数据。

请访问http://www.sqlite.org/cvstrac/wiki?p=SqliteNetwork