我正在创建一个从列表(当前存储为 Numbers 文档)中生成随机问题的应用程序。一旦用户回答了该问题,唯一的问题 ID、问题本身及其答案就会存储在核心数据中。
当用户请求一个新问题时,系统会从原始文档中随机生成一个问题,然后将其与核心数据交叉引用,以确定用户之前是否回答过该问题。
目前我还没有包括我的应用程序代码,因为我并不是真的在寻找特定的编码帮助。作为代码世界的新手,我只是在寻找正确方向的插入力,让我去做更多的学习。
JSON 看起来是可行的,但我了解得越多,就越觉得它是关于应用程序与网站通信的。我真的不希望任何人都可以访问这些问题,所以将它们放在我的网站上可能行不通?我可以使用应用程序中的本地文件来完成吗?也许是 CSV?
我预计随着我添加更多问题,文件可能会变得相当大 - 所以我不确定这是否会改变一切?
提前致谢,如果这不是在这里提问的正确方式,我们深表歉意。
最佳答案
I'm just looking for a nudge in the right direction for me to go and do more studying.
有很多选项可以解决您的问题。每个选项都取决于您的技能、时间以及您想要制作的应用程序是否需要解决方案。最终由您决定哪种解决方案可以解决您的问题。有几个选项:
- 创建自己的后端
- 在您的应用程序中有一个本地文件
- 或使用第三方服务,如 Firebase .
每个选项都有其自身的优势。仅举几例:
本地文件:
您可以拥有几乎任何格式(XML、JSON、.plist)等的本地文件。缺点是您的应用不是动态的 - 您必须手动不断向该文件添加文本并通过App Store 让您的用户看到这些变化。如果您要使用这种方法,我建议您使用保存在项目中的 .plist 或 JSON 文件。如何正确实现这一点超出了问题的范围,但有很多教程可以帮助您入门。
您可以将数据放在 .plist 文件中。这只不过是一个包含键值数据的字典(与 JSON 的原理相同,每个键都有一个值)。一个例子:
question1 是 String 类型的键,包含值“你今天好吗”。从这个 .plist 中读取起来很容易,因为它与 JSON 的原理相同。
此外,JSON 只是一种格式,它经常用于与网站通信,但不仅限于网站。
自定义后端
这意味着您创建了一个后端,您的应用可以在该后端上进行通信。您必须托管后端,在后端编写逻辑/代码等等。这可能非常耗时,尤其是当您的应用程序不是那么大/要求不高时。除非您有经验、时间、耐心并且需要此解决方案,否则我不会推荐此方法。
第三方
这可能是一个不错的解决方案。使用像 Firebase 这样的第三方服务意味着您可以在线获取数据。 Firebase 库已经过良好测试,并提供了很好的文档来帮助您入门。它安全、快速、简单,但.. 了解它的工作原理确实需要一点时间 - 但最终结果是您拥有一个动态应用程序,您可以在其中添加、删除、编辑问题等。如果您愿意,可以保护此数据 - 这意味着只有经过身份验证的用户才能访问此数据(没有其他人会监视您的数据:))
I don't really want the questions to be accessed by just anyone, so putting them on my website might not work?
阅读自定义后端和第三方。
Could I do it with a file local in the app?
是的。读取本地文件。
maybe a CSV?
这是可能的,但我不会推荐它,但这是个人意见。我发现它已经过时并且比 JSON 更难使用。
I'm anticipating the file may become quite big as I add more questions - so I'm not sure if that changes things?
什么是大文件?如今,读取一个“大”JSON 文件最多可能不过是几 MB。您的手机会立即读取此信息。这对您的手机或应用程序来说不是问题。
关于swift - 使用什么数据文件可以轻松导入到带有 Swift 的 iOS 应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43099563/