eureka custom community ios swift3 eureka-forms

ios - custom - Loop dentro de Swift Eureka Form



swift forms (2)

El <<< es un operador binario, que espera dos operandos ( lhs <<< rhs ), mientras que en su ejemplo anterior, solo le proporciona uno ( <<< operand ).

No es posible "canalizar" cada pasada de un bucle for , como si cada pase fuera un rhs para usar con un operando lhs fuera del alcance del bucle (con lhs para el primer pase siendo el resultado de la form +++ Section(...) de form +++ Section(...) ). Sin embargo, podría hacer uso de reduce para lograr dicha funcionalidad. Ahora, no he probado esto con formularios Eureka (sin embargo, en estructuras ficticias y operadores), pero debería parecerse a lo siguiente: (basado en las funciones de operador +++ y <<< declaradas en Eureka / Source / Core / Operadores.swift )

form +++ itemNames.reduce(Section("Select item values")) { (section, itemName) in section <<< StepperRow() { $0.tag = itemName $0.title = itemName $0.value = 0 } }

Estoy construyendo un formulario de Eureka y me gustaría poner un círculo dentro del formulario para crear una lista de steppers basados ​​en una matriz.

El código que trato de usar es:

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

Sin embargo, cuando hago esto, aparece un error en la línea StepperRow que dice:

Unary operator cannot be separated from its operand

Por lo tanto, parece que Swift ya no piensa que está dentro del formulario y está viendo el <symbol como menos que, en lugar de la declaración de la fila.

¿Alguna idea sobre cómo solucionar esto?


Respuesta alternativa:

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

Solo tiene que agregar "form.last" dentro del for.loop.