gpt4 book ai didi

ios - 受管对象中的String属性数组始终为nil

转载 作者:行者123 更新时间:2023-12-01 21:25:46 26 4
gpt4 key购买 nike

首先,我将文本字段中的内容提取到字典中:

var dict: [String: String] = [:]
for metricPair in metricStackView.arrangedSubviews {
if metricPair.subviews[0] is UITextField {
let unitTextField = metricPair.subviews[0] as! UITextField
let valueTextField = metricPair.subviews[1] as! UITextField

if let textContent = unitTextField.text, let valueTextContent = valueTextField.text {
let trimmedKey = textContent.trimmingCharacters(in: .whitespacesAndNewlines)
let trimmedValue = valueTextContent.trimmingCharacters(in: .whitespacesAndNewlines)
dict.updateValue(trimmedValue, forKey: trimmedKey)
}
}
}
我将其保存到核心数据中:
let goal = Goal(context: self.context)
goal.date = Date()

for item in dict {
goal.metrics?.append(item.key)
}

goal.progress.insert(progress)
我的托管对象如下所示:
extension Goal {
@nonobjc public class func createFetchRequest() -> NSFetchRequest<Goal> {
return NSFetchRequest<Goal>(entityName: "Goal")
}

@NSManaged public var date: Date
@NSManaged public var metrics: [String]?
@NSManaged public var progress: Set<Progress>
}
即使在保存上下文之前,我仍然不断获得 nil类型的 metrics属性的 [String]。当我登录 item.key时:
for item in dict {
goal.metrics?.append(item.key)
}
内容正确显示。

最佳答案

据我从上面的代码可以看出,metrics数组未初始化。
尝试替换此行:

goal.metrics?.append(item.key)
这些行:
if case nil = goal.metrics?.append(item.key) {
goal.metrics = [item.key]
}
或仅使用以下几行:
if goal.metrics == nil {
goal.metrics = []
}
goal.metrics?.append(item.key)

关于ios - 受管对象中的String属性数组始终为nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63528719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com