0
votes

Déclaration Swift Tuple dans un protocole

J'ai une variable de tuple dans mon code, qui vient de réactivesWift: xxx

Comment puis-je déclarer cette variable tuple dans un protocole?

ne fonctionne pas): xxx

Il apparaît une erreur de syntaxe: "getter / setter ne peut être défini que pour une seule variable"

merci!


0 commentaires

4 Réponses :


0
votes

Votre définition de classe est défini sur deux propriétés, puis vous les attribuez à un tuple, mais ils sont toujours deux propriétés indépendantes. Vous pouvez voir cela si vous utilisez la syntaxe init à la place (la syntaxe que vous utilisez est juste une commodité pour cela): XXX

Ce que vous voulez ici est: < / p> xxx

Le type de signal et signalsender ne sont pas signal . Ce sont quoi que ce soit tuyau () renvoie.

Vous pouvez toujours être conforme à ce protocole avec la syntaxe utilisée par MyClass.


0 commentaires

0
votes

Vous pouvez déclarer la variable comme celle-ci tant que la seule seule n'accepte qu'une variable. Cette variable sera donc tuple. xxx


0 commentaires

3
votes

Type de votre propriété devrait être tuple, pas seulement une déclaration de classe / structure. Ainsi, regardez ce que votre tuyau () code> retourne. Il devrait renvoyer tuple avec deux types xxx pre>

à la déclaration de protocole Utilisez ces deux types p> xxx pré>

puis implémentez ce protocole à votre classe et attribuez-la avec valeur de retour de tuyau () code> p> xxx pré>

puis lorsque vous avez besoin d'un élément de tuple, utilisez simplement P>

tuple.signal
tuple.signalSender


0 commentaires

0
votes

Vous pouvez simplement définir votre protocole comme celui-ci:

class TestClass: MyProtocol {
    var (signal, signalObserver) = Signal<Bool, NSError>.pipe() //you can replace NSError with your custom error type
}


0 commentaires