Swift Protocole d'obtenir seulement réglable?

pourquoi ne puis-je le faire sans aucune erreur:

var testDto = ModelDto(modelId: 1)
testDto.objectId = 2

alors que j'définir ce:

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()
    }
}

Si la définition dans mon protocole est la plupart du temps ignorés (getter, setter définition), pourquoi devrais-je les utiliser de toute façon?

  • vous avez manqué quelque chose de très important ici. votre protocole n'est pas envisagée, car vous n'êtes pas référence. vous pouvez choisir de consulter ModelDto directement et non via DataTransferObject. Voir ma réponse ci-dessous.
InformationsquelleAutor Artur Pajonk | 2015-06-01