模型验证导致 iOS 应用崩溃

Posted

技术标签:

【中文标题】模型验证导致 iOS 应用崩溃【英文标题】:Model validation causes iOS app to crash 【发布时间】:2014-03-25 16:32:18 【问题描述】:

我的 xcdatamodel 中有一个带有属性的对象,该对象周围有验证(它必须在 0 到 100 之间)。

但是,当输入的值超出范围时,会在我尝试保存对象时导致应用程序崩溃。

来自 Web 开发背景,我预计会出现带有错误消息的数据库回滚。

这是一个正常的崩溃过程吗?除了在保存之前检查每个值之外,有没有办法改变它?

【问题讨论】:

我很惊讶您遇到了崩溃 - 我希望您会从我阅读文档 (developer.apple.com/library/mac/documentation/Cocoa/Conceptual/…) 中得到错误(并有机会回滚)。文档还表明您可以在数据输入期间运行属性级验证,这似乎是可行的方法(文档中的示例代码)。不幸的是,我从未使用过验证,因此没有示例代码可提供。 【参考方案1】:

从头开始编写 ios 应用程序时没有这样的数据库。关于如何存储数据,您有多种选择——其中之一是 Core Data,它有一个 SQL 后端。

错误处理也是您必须自己做的事情。如果您只期望 0 到 100 之间的值,您也需要处理超出该范围的值。

【讨论】:

以上是关于模型验证导致 iOS 应用崩溃的主要内容,如果未能解决你的问题,请参考以下文章

核心数据 VS 验证错误对象,导致崩溃

Flutter 应用程序在 iOS 平台上的 Firebase 手机身份验证上崩溃

创建 NSError * 导致应用程序崩溃

iOS6 上的 GKLocalPlayer 身份验证崩溃并出现模态转换错误

使用 Firebase 身份验证时应用程序崩溃,原因:“已配置默认应用程序。”

如何使用 Amazon IAP API 验证购买