首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >王国()究竟是如何工作的?

王国()究竟是如何工作的?
EN

Stack Overflow用户
提问于 2016-11-22 05:44:19
回答 2查看 638关注 0票数 4

在开发一个新的Swift 3 iOS应用程序时,我已经使用了几天了,总的来说,与CoreData相比,使用它更令人愉快。

然而,这些文档似乎不够详细,不足以帮助我找出确切的.

代码语言:javascript
运行
复制
let realm = try! Realm()

...does,以及使用这个行的多个版本是否有意义(甚至是强制性的),或者对于整个应用程序来说,一个调用就足够了。

所以如果任何对领域有深入了解的人能帮上忙,我会很感激的。

我的问题,按重要性顺序排列:

  1. 上面的代码行到底是做什么的?它是否打开某种类型的文件管理器流,从而允许我的应用程序在应用程序仍然运行时从域数据文件中写入和读取数据文件?
  2. 还是需要在每个领域的读/写操作之前使用这一行?或者是介于两个极端之间,比如需要在每个单独的类/视图控制器中调用,而不是在每个读/写操作之前调用?
  3. 为什么领域使用try!及其所有方法?这仅仅是为了简化各种教程和示例源文件中的演示吗?或者我们实际上是要在使用领域时抑制类似于生产中的错误?

感谢所有的输入,因为领域文档和示例文件似乎没有提供这些问题的答案,除非我是盲人,这是一种可能性,因此我愿意被指向相关的文档/参考页面(如果适用)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-22 19:38:24

感谢您使用领域!我们将研究如何使文档更加清晰。同时:

  1. 这一行代码为您提供了一个领域的实例,realm。特别是,Realm()为您提供了默认的领域,即使用默认配置对象指定其配置的领域。(如果您的应用程序只有一个领域,您可以使用这个API获得对它的引用,而不必显式地传递配置结构。)您可以像调用任何其他Swift对象一样在此实例上调用API,或者将其传递到需要Realm参数的其他API中。
  2. 使用realm实例就像使用普通对象一样,不要担心流或任何其他隐藏状态。唯一的限制是不应该在线程或队列之间传递Realm实例。
  3. 我们文档中的try!主要是为了简洁。生产应用程序是否需要避免使用try!取决于是否可以合理地期望它从打开领域的失败尝试中恢复,以及如果某个领域未能打开,是否需要发生特殊行为。您可以看到可能的错误,这里

最后一个注意事项:在Swift中的领域(即磁盘上数据库)和Realm类的实例之间有一个重要的区别。如果多个Realm实例是用相同的配置值创建的,则它们可以引用相同的底层领域数据库。例如,您可能在应用程序的不同部分,或者在不同的线程上有多个Realm实例(为了满足上述相同的线程需求)。我们的一些用户选择创建一个“manager”单例对象,该对象在启动时打开一个特定的领域,处理可能发生的任何错误,并将Realm实例外包给可能需要从数据库中读取或写入的UI代码。当然,这种模式是否适合您取决于您的编码风格和应用程序的特定需求。

希望这能帮上忙!

票数 0
EN

Stack Overflow用户

发布于 2016-11-22 05:54:02

据我所知,这可能并不是真的正确:

  1. 这一行代码将创建一个领域实例来控制当前线程中的领域写/读,在这种情况下,您使用默认配置调用领域,如果需要另一个配置,如数据库名称、路径、.
  2. 只要您在当前类中创建它,或者只使用默认的领域(),您就不需要它,这意味着您仍然需要它,但只需要使它成为类变量或其他东西。
  3. try意味着你可以抛出你想要处理的错误,使用try!表示你跳过错误,如果你想处理它,结合docatch来处理错误。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40734589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档