当我尝试向记录类型添加新字段时,不可能添加Bool类型.我怎么能这样做呢?
请参阅通过保存记录 Apple文档创建数据库架构,下表包含CloudKit可能的字段类型:
不幸的是,没有发现Bool类型.我发现 - 逻辑上 - 最适合替代Bool的是Int(64)
,因为:
表中提到的Int(64)类是NSNumber,它有一个boolValue
返回Swift Bool:
数字对象的值表示为布尔值.0值始终表示false,任何非零值都被解释为true.
有关更多详细信息,请查看NSNumber文档.
这导致在应用程序中将Bool视为Bool.例如:
let myFalseNumber:NSNumber = 0.0 let myTrueNumber:NSNumber = 0.01232 let anotherTrueNumber: NSNumber = -99 print(myFalseNumber.boolValue) // false print(myTrueNumber.boolValue) // true print(anotherTrueNumber.boolValue) // true
虽然这两个Int(64)
和Double
被视为的NSNumber,为什么选择的原因Int(64)
,而不是Double
(CloudKit型)是治疗的一般性"1,如果真和0,如果假"(没有任何浮动点).有关更多信息,您可能需要检查布尔数据类型 - Generalities(Wikipedia).
希望它有所帮助.