[SWIFT] Définition de variable facultative avec plusieurs spécifications de protocole

J'étais confus par la définition du type facultatif qui appliquait plusieurs protocoles, donc c'est un niveau d'écriture de mémo

Déclaration appliquée par plusieurs protocoles

.swift


class Hoge {
    var fuga: SomeClass & HogeProtocol & FugaProtocol 
}

Déclaration facultative avec plusieurs protocoles appliqués

Il y avait plusieurs façons de l'écrire.

supports

.swift


class Hoge {
    weak var delegate: (SomeClass & SomeProtocol & FugaProtocol)?
}

Pas de sucre de syntaxe

.swift


class Hoge {
    weak var delegate: Optional<SomeClass & SomeProtocol & FugaProtocol>
}

Utilisation de typealias.

.swift


typealias HogeDelegate = SomeClass & SomeProtocol & FugaProtocol
class Hoge {
    weak var delegate: HogeDelegate?
}

Recommended Posts

Définition de variable facultative avec plusieurs spécifications de protocole