为什么我可以做到这一点而没有任何错误:
var testDto = ModelDto(modelId: 1)
testDto.objectId = 2
当我定义这一点时:
protocol DataTransferObject {
var objectType: DtoType { get }
var parentObjectId: Int { get set }
var objectId: Int { get }
var objectName: String { get set }
}
struct ModelDto: DataTransferObject {
var objectType: DtoType
var parentObjectId: Int
var objectId: Int
var objectName: String
init(modelId: Int) {
self.objectType = DtoType.Model
self.objectId = modelId
self.parentObjectId = -1
self.objectName = String()
}
}
如果协议中的定义大多被忽略(getter、setter定义),那么我为什么还要使用它们呢?