gpt4 book ai didi

swift - fileprivate 是否适合@NSManaged 变量?

转载 作者:行者123 更新时间:2023-11-28 12:32:23 26 4
gpt4 key购买 nike

Xcode 可以从核心数据实体生成这个:

//  This file was automatically generated and should not be edited.

import Foundation
import CoreData

extension Media {
@NSManaged public var imageString: String?
}

我的同事已将其编辑为隐藏字符串并仅公开一个 URL:

extension Media {
@NSManaged fileprivate var imageString: String?
public var image: URL? {
return imageString != nil ? URL(string: imageString!) : nil
}
}

在那种情况下可以使用 fileprivate(或 private)吗?这是在 Core Data 中存储 URL 的最佳做法吗?

最佳答案

行得通。这是否是个好主意取决于您需要如何使用 URL。

您可以直接保存 URL,而无需字符串属性。只需在 Core Data 模型编辑器中将该属性设为“可转换”类型即可。由于 URL 类型符合 NSCoding,Core Data 会自动将其转换为 NSData。您可以为该属性分配一个 URL,稍后再读取 URL。

这很好除非您需要根据 URL 获取对象。您不能在获取谓词中使用可转换的属性,因此对于可转换的属性,您不能,例如,使用包含 stackoverflow.com 的 URL 获取每个对象。如果你需要做那样的事情,你的方法是一个很好的方法。如果不是,则可转换属性更简单。

关于swift - fileprivate 是否适合@NSManaged 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41755679/

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