【问题标题】:App is crashing if using Core Data (attribute of type boolean)如果使用 Core Data(布尔类型的属性),应用程序会崩溃
【发布时间】:2015-02-01 13:07:19
【问题描述】:

我在核心数据模型和 data.swift 类中添加了一个新属性(布尔类型)。添加属性后,我尝试运行我的应用程序。一切正常。现在我尝试使用新属性。我写了一些代码,它与属性一起工作。现在我第二次尝试运行该应用程序。它正在崩溃。有人知道为什么吗?

【问题讨论】:

  • 请向我们展示您的核心数据模型
  • 我在我的答案中发布了一个带有数据模型图像的链接。

标签: ios xcode swift core-data attributes


【解决方案1】:

Bool 不是对象,因此无法管理。而是将属性设置为NSNumber

NSNumber 有一个名为boolValue 的属性,您可以获取该属性并将其设置为布尔值。

【讨论】:

  • 但是如何使用这个 NSNumber?它会返回 0 还是 1?
  • 当你想获得你要输入的布尔值时,在你的情况下,hatDatum.boolValue 并且当你想设置它时,你会调用 hatDatum = [NSNumber numberWithBool:YES (or NO)] ;
  • 好的。因此,如果我想检查布尔值是否为真,我必须写:if hatDatum.boolValue = YES {} ?
  • 我的错,你使用的是 Swift。要检查该值,您应该只需键入 if(hatDatum == true)。
  • 好的。如果我想设置一个布尔值:hatDatum = true / false?
【解决方案2】:

您的问题是您的新 DataModel 与您在创建数据存储时使用的不同。

因此,您必须从模拟器中删除您的应用。然后再次启动您的应用程序,它应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多