0

I am trying to do my first App which is a basic joke app that uses tableViews and allows users to add their own jokes to the app database. My problem is in the networking department and I think I'm getting confused with all that is out there. I have a couple basic questions that I was hoping to get answers or opinions on:

  1. I am really confused about the path that is taken from the app on the iphone to the database that is holding the data. Does the tableview controller call a AFNetworking object, that then sends a JSON object to a server-side script(??), that then queries a SQL database and returns the data? I am just looking for a basic path that allows the user to add their own joke to the database.

  2. Is this a URL request? When I see URL request I think of a web page.

  3. I have a website that is hosted on GoDaddy.com. Is this also sufficient to hold the database for the jokes on the iOS app?

I have been searching for days and have gotten no simple answer. I just want to study the correct subjects instead of wasting time. ANY help or pointers would be appreciated.

4

1 回答 1

1
  1. 这里有两种存储形式——某种形式的网络商店(例如 MySQL 之类的服务器数据库技术)和本地 iOS CoreData(如果你想在本地存储,或者每次都发出新请求,因此需要连接)。您可以使用 Web 请求(可能使用 AFNetworking 库)来确保本地商店和在线商店匹配。例如,一个典型的流程可能是 - 在应用程序启动时执行一个 GET 请求以使用返回 JSON 文件的服务 URL 从服务器中提取所有笑话,然后更新 Coredata。要上传新笑话,请使用执行类似功能的 POST 请求。

  2. “URL 请求”映射到使用某种形式的逻辑来确定如何返回某些数据的 Web 技术。例如,请求可能到达 Web 服务器(例如 Apache),该服务器将您的请求路由到 PHP 控制器文件,该文件然后与数据库对话并返回您的数据。

  3. GoDaddy 是一个支持 PHP 和 MySQL 的托管平台(以及其他可以实现相同技巧的技术),所以是的。

在您的情况下,我会研究模型-视图-控制器设计模式。我认为您的应用程序将是一次很棒的学习体验,您应该学习很多核心概念。

编辑以在第一条评论中回答您的问题:

您的问题: 1. JSON 文件是存储在设备上还是服务器上?2. JSON 会取代 JavaScript 吗?

答案:

JSON 是 JavaScript Object Notation 的缩写,它只是一种表示数据的方式,并不能替代任何东西。它特别有用,因为大多数语言都支持以技术可以理解的方式解析 JSON。这是一种发送数据的便捷方式,因为它非常轻量级并且得到广泛支持。

在这种情况下,JSON 可能不会存储在服务器上。数据将存储在数据库中。您的请求将被映射到服务器端技术,例如 PHP 或 Ruby,然后向数据库询问信息,将其转换为 JSON 以发送并返回给客户端。(可以将数据存储在服务器上的 JSON 文件中,但您必须编写服务器端代码来直接操作 JSON 文件,这将是一项艰苦的工作,而且不太优雅!)

客户端(在本例中为 iOS 设备)会将 JSON 解析为 Objective-C 可以使用的对象,例如 NSDictionary。

希望有帮助!

于 2013-01-06T11:06:52.340 回答