gpt4 book ai didi

ios - 如何使用 Core Data 的选项和 "None"选项创建 Eureka AlertRow?

转载 作者:行者123 更新时间:2023-11-28 05:49:14 24 4
gpt4 key购买 nike

GTDItemEntity 是一个核心数据实体。我需要能够将“无”或“无项目”作为有效值。我可以用 .value 和 .displayValueFor 做到这一点。但是我如何在选项中允许它呢?

 <<< AlertRow<GTDItemEntity>() {
$0.title = "Project"
$0.value = self.item?.project
$0.displayValueFor = { project in
return project?.text ?? "No Project"
}
$0.options = [nil] // sample one option with nil value
$0.onChange() {
self.item.project = $0.value
}
}

最佳答案

执行此操作的一种方法是更改​​为 AlertRow<GTDItemEntity?> :

 <<< AlertRow<GTDItemEntity>() {
$0.title = "Project"
$0.value = self.item?.project
$0.displayValueFor = { project in
return project??.text ?? "No Project" // *
}
$0.options = [nil] // sample one option with nil value
$0.onChange() {
self.item.project = $0.value ?? nil // *
}
}

请注意,这使得 $0.value双可选,这就是为什么我更改了标有 * 的行中的一些代码.

另一种方法是添加一个特殊的 GTDItemEntity作为选项之一。您将为这个特殊 GTDItemEntity 的某个字段分配一个值这样就没有其他GTDItemEntity有那个值(value)。然后,您可以检查该行的值是否已更改为 onChange 中的那个特殊实体。 .如果是,则将值设置为 nil。

关于ios - 如何使用 Core Data 的选项和 "None"选项创建 Eureka AlertRow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53485343/

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