7
votes

Boucle au sein de la forme Swift Eureka

Je construisie une forme d'EUREKA et je voudrais mettre une boucle dans le formulaire pour créer une liste de steppers basée sur un tableau.

Le code que j'essaie d'utiliser est le suivant: P>

Unary operator cannot be separated from its operand


1 commentaires

Je suppose que les lignes à construire le formulaire sont nécessaires être dans / sur la même portée / niveau.


3 Réponses :


5
votes

Le <<<< / code> est un opérateur binaire, qui attend deux opérandes ( lhs <<< rhs ), tandis que dans votre exemple ci-dessus, vous ne l'appuyez que dans votre exemple ( <<< Opérande ).

Il n'est pas possible de "tuyer" chaque passage d'un pour BOOP tels que si chaque carte était un rhs à utiliser avec un LHS Opérande en dehors du cadre de la boucle (avec lhs pour la première passe étant le résultat de la section Form +++ (.. .) ). Cependant, vous pouvez utiliser réduire pour atteindre ces fonctionnalités. Maintenant, je n'ai pas testé cela avec des formes d'Eureka (toutefois sur des structures et des opérateurs factices), mais il devrait ressembler à quelque chose comme ce qui suit: (basé sur le +++ et <<<< Fonctions de l'opérateur déclaré dans EUREKA / Source / Core / Opérateurs .swift ) xxx


4 commentaires

Je comprends que. <<< est une syntaxe spécifique pour les formes EUREKA et, donc lorsque cela ne fonctionne pas dans A pour boucle fonctionne correctement. Ma question est mote à propos d'Eureka et de mettre une boucle dans une forme d'EUREKA. L'espace est requis dans le cadre de cette syntaxe


@MichaelMmoulsDale a mis à jour ma réponse (non testée pour Eureka Cadre, mais testé sur des types et des opérateurs factices).


Impressionnant, était vraiment sceptique de la réponse, mais cela a fonctionné un régal. @xmartlabs, vous devriez vraiment ajouter ceci à la documentation


@Michaelmoulsdale Bon d'entendre que cela a également fonctionné dans la pratique avec Eureka. Heureux d'aider!



4
votes

Réponse alternative:

let itemNames = ["one","two","three"]

// Eureka From Set-up
form
    +++ Section("Select item values")

    for itemName in itemNames{

    form.last

        <<< StepperRow() {
            $0.tag = itemName
            $0.title = itemName
            $0.value = 0
        }
    }


0 commentaires

2
votes
  //You can use following approach :-

    let itemNames = ["one","two","three"]
    let section = Section("Select item values")
    form +++ section
    // Eureka From Set-up
    for itemName in itemNames{
        section <<< StepperRow() {
            $0.tag = itemName
            $0.title = itemName
            $0.value = 0
        }
    }

0 commentaires