为什么我可以做到这一点没有任何错误:
var testDto = ModelDto(modelId: 1)
testDto.objectId = 2
Run Code Online (Sandbox Code Playgroud)
虽然我定义了这个:
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()
}
}
Run Code Online (Sandbox Code Playgroud)
如果我的协议中的定义大部分被忽略(getter,setter定义),为什么我还要使用它们呢?