如何将数据模型中的以下变量表示为协议:
它建模的数据是JSON,格式为
“imageName”:“图片1”
模型根据上面的(imageName)初始化图像
struct ResultsModel: Codable, Identifiable, Hashable {
var id: Int
var name: String
var imageName: String
var image: Image {
Image(imageName)
}
}
protocol Attachment {
var id: Int { get set }
var name: String { get set }
var imageName: String { get set }
var image : Image {
Image(imageName)
}
}
我得到错误“Expected get or set in a protocol property”,但是我在哪里添加它呢?或者我如何编写一个协议,通过字符串初始化图像?
我试过添加get set到
var image: Image {
Image(imageName)
} {get set}
var image: Image {get set} {
Image(imageName)
}
但两者都返回“Expected get or set in a protocol property”
1条答案
按热度按时间ekqde3dh1#
Swift协议不能用默认实现定义属性,但你可以用协议扩展来定义。见下文: