我想为我的Data实例添加描述,以便我知道它们的用途。
例如:“此数据用于 (user.name) 的个人资料图片”或“此数据是编码的用户实例”等。
我正在浏览Data实例可用的属性,看到有一个descriptionanddebugDescription属性。我试图为这些属性设置值,但似乎我不能,因为它们是 get-only 属性。有没有其他方法可以向Data实例添加描述?
编辑:Data按照下面的建议
包装实例是一个很好的解决方案,但如果有一种方法可以在不使用包装器的情况下实现相同的效果,请告诉我。
您可以创建一个轻量级的包装器,如下所示 -
import Foundation
struct DescriptiveData: CustomStringConvertible, CustomDebugStringConvertible {
let data: Data
let customDescription: String?
init(data: Data, customDescription: String? = nil) {
self.data = data
self.customDescription = customDescription
}
var description: String { customDescription ?? data.description }
var debugDescription: String { description }
}
Run Code Online (Sandbox Code Playgroud)
用法
let data = DescriptiveData(data: Data(), customDescription: "data for profile picture")
print(data)
// data for profile picture
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |