如何将iOS应用程序连接到数据库(mySQL和SequelPro)?

问题描述:

我正在寻找一种连接应用程序与数据库的方式,在Sequel Pro中创建,并与mySQL服务器(通过MAMP启动)连接。 我已经搜索了一些解决方案,但有数百个不同的帖子,有人说SQLite将是唯一的可能性,有些人说CoreData将是完美的。如何将iOS应用程序连接到数据库(mySQL和SequelPro)?

现在我找到了一个名为'MCPKit'的框架,但是这个框架并不是最新的,它看起来像Apple本身也推荐使用CoreData进行数据管理。 (https://developer.apple.com/technologies/ios/data-management.html

我对CoreData并不熟悉,如果有人知道建立连接的其他方式,我会非常高兴。

我尽可能具体,但如果您已经有一些问题,请询问。

+0

你问直接在设备上使用您的数据库,或者连接到数据库在网络上? – 2013-04-05 13:31:53

+0

对不起,我想从数据库中读取数据以将其实施到UITableView中。我想通过网络与数据库连接。 – RForce 2013-04-05 13:35:59

连接到mysql数据库是可能的。我通过php返回了我的应用程序解析并存储的xml文件。

此链接也包含此主题。

How to connect to a MySQL database from an iPhone?

核心数据是一种在iOS中保持对象的技术,通常用作本地数据库。实际上,NSPersistentStore几乎总是作为iOS中的SQLite数据库实现的。但是,如果您打算通过网络调用从服务器上的数据库获取数据,则Core Data不会这样做。

简而言之,您需要在服务器上构建一个Web服务,以允许您访问数据。处理您的服务和移动设备之间的通信的一个好方法(虽然当然不是唯一的方法)是使用套接字。 Here is a tutorial可以为你带来一个好的开始。

CoreData实际上使用SQLite ... 您可以使用NSURLRequest访问数据库,然后使用请求创建NSData。 根据服务器返回的格式(即JSON),可以将NSData转换为字典。这看起来像这样用JSON:

NSDictionary *contentDictionary = [NSJSONSerialization JSONObjectWithData:contentServerResponse options:NSJSONReadingMutableContainers error:nil]; 

那么你就可以访问该字典通常的键值访问和分配内容到你的ViewController。

如果您正在使用MAMP,请尝试编写php脚本文件以访问mySQL数据库,并在PHP中使用json_encode函数将其作为JSON文本回显。你有很多解析器来解析iOS中的JSON。