【发布时间】:2011-06-24 15:22:30
【问题描述】:
我尝试搜索了一段时间,但没有找到合适的令人信服的答案。因此问题。我知道 plist 和 mysql 在两个相反的端,但我有一个使用 plist 的解决方法,它可以很简单。但我怀疑解决方法,觉得它不是一个优雅的解决方案。
型号:
用户拥有包含各种信息的个人资料,例如姓名、电子邮件、出生日期等。他还有一组或一系列其他信息,例如书籍、爱好等。所以从 plist 的角度来看,它基本上是嵌套数组。
<name>
<email>
<date of birth>
<books>
<book1>
<book2>
<Hobbies>
<hobby1>
<hobby2>
...
从 mysql db 的角度来看,将有 3 个表。一种用于个人资料,一种用于书籍,一种用于爱好。每个配置文件一行,外键指向 Books and Hobbies 表。
问题: 我需要将此信息存储在服务器上并根据请求在 iphone 上检索 请记住,此用户将能够根据某些过滤条件查看其他各种用户的个人资料。所以我要问的是在哪里以及如何存储所有用户的个人资料信息,以便这个用户可以在他想要的时候在他的 iphone 上查看它们。
解决办法:
方法一:(使用plist)
对于每个用户,在服务器上存储一个 plist 文件。要获取 iphone 上的信息,请创建一个 http 请求以获取 plist,然后使用标准方法从 plist 显示 iphone 上的信息。 因此,如果服务器位于 xyz.com,我可以在路径 xyz.com/userid/profile.plist 获取 plist
方法二:(使用mysql)
将数据存储在mysql数据库中。发送 http 请求以访问 php 文件。 php代码通过userid查询profile表,然后通过外键查询Books and Hobbies表。创建一个结果数组。并将结果数组发送回 iphone。 iPhone 现在显示来自该数组的配置文件信息。
哪种方法更适合最佳实践、性能和可扩展性?
最终会有 1000 多个配置文件。在第一种方法中,这意味着服务器上将有 1000 个不同的 plist 文件。在第二种方法中,这意味着配置文件表中有 1000 行。
【问题讨论】:
标签: iphone mysql xcode web-services plist