作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在Core Data中,String和Int32类型的属性是“可选的”(在属性中勾选)。
代码中这些值对应的,都是与可选类型相同的类型。
var color1: String?
var color2: String?
var color3: String?
var colorRangeLoc1: Int32?
var colorRangeLoc2: Int32?
var colorRangeLoc3: Int32?
在某些情况下会设置值,并将其作为可选值传递给函数,以便传输到核心数据。
func loadCellData(text: String, sortOrder: Int32, portion: Float, color1: String?, color2: String?, color3: String?, colorRangeLoc1: Int32?, colorRangeLoc2: Int32?, colorRangeLoc3: Int32?, colorRangeLen1: Int32?, colorRangeLen2: Int32?, colorRangeLen3: Int32?, underlineRangeLoc1: Int32?, underlineRangeLoc2: Int32?, underlineRangeLoc3: Int32?, underlineRangeLen1: Int32?, underlineRangeLen2: Int32?, underlineRangeLen3: Int32?)
{
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let entry: CellData = NSEntityDescription.insertNewObject(forEntityName: "CellData", into: context) as! CellData
entry.text = text
entry.sortOrder = sortOrder
entry.portion = portion
entry.color1 = color1
entry.color2 = color2
entry.color3 = color3
entry.colorRange1Loc = colorRangeLoc1
entry.colorRange2Loc = colorRangeLoc2
entry.colorRange3Loc = colorRangeLoc3
...
Xcode 编译字符串时没有错误?值、颜色1、颜色2 和颜色3,但对于Int32 显示以下错误?值:
这表明 CoreData 中的可选 Int32 需要未包装的可选值(而可选的 String 就可以)?是否有区别(这将帮助我理解原因),如果有,如何最好地管理?
指定“nil”作为起始值不起作用。如果为零(当然),强制展开会导致崩溃。是否有必要检查所有 Int32 类型的值?
if colorRangeLoc1 != nil { entry.colorRangeLoc1 = colorRangeLoc1 }
或者应该是“守卫”还是“如果让”?
最佳答案
CoreData 中的可选值与 Swift 中的不同。根据评论,至少对于数字,设置一个强制性的 - 不可能的值 - 而不是 nil,并在使用该值时检查这一点。
关于swift - Core Data 中的可选 Int32 值需要在代码中解包可选的 Int32 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56338479/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!