Xcode 6 Swift Conversión de String a Int en campos de texto

así que se me ha pegado con este problema por un tiempo muy largo ahora y no puedo averiguar.

así que mi idea básica es que tengo 2 campos de texto, donde el usuario pone en un número (no sé cómo abrir el teclado pero sería bueno si alguien sabía cómo) en ambos campos de texto y quiero dividir los números por cada uno de los otros.

< Label.texto = (Textfield1.de texto) /(Textfield2.de texto) >

así que me puse 3 variables, una etiqueta, y dos campos de texto, pero me mantiene me da este error que la cadena no es convertible a un UIint8.

aquí está una captura de pantalla con el código de

Xcode 6 Swift Conversión de String a Int en campos de texto

aquí está el guión

Xcode 6 Swift Conversión de String a Int en campos de texto
PS: soy un poco nuevo en esto de Xcode, por lo que el problema podría ser MUY obvia :/

aquí está el código de error (me dio un error cuando lo hice sin

vamos a answer2 = textfield1.texto.toInt()! /textfield2.texto.toInt()!

2014-09-12 15:16:05.764 lb[3107:261572] * Terminación de la aplicación debido a uncaught exception ‘NSUnknownKeyException’, la razón: ‘[ setValue:forUndefinedKey:]: esta clase no es el valor de la clave de codificación compatible con la tecla de ButtonO.’
*
Primer lanzamiento de la pila de llamadas:
(
0 CoreFoundation 0x000000010f2fb3e5 exceptionPreprocess + 165
1 libobjc.Una.dylib 0x0000000110e11967 objc_exception_throw + 45
2 CoreFoundation 0x000000010f2fb029 -[NSException subir] + 9
3 Fundación 0x000000010f713383 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
4 CoreFoundation 0x000000010f2453f0 -[NSArray makeObjectsPerformSelector:] + 224
5 UIKit 0x000000010fe4716d -[UINib instantiateWithOwner:opciones:] + 1506
6 UIKit 0x000000010fca9d78 -[UIViewController _loadViewFromNibNamed:paquete:] + 242
7 UIKit 0x000000010fcaa368 -[UIViewController loadView] + 109
8 UIKit 0x000000010fcaa5d9 -[UIViewController loadViewIfRequired] + 75
9 UIKit 0x000000010fcaaa6e -[UIViewController ver] + 27
10 UIKit 0x000000010fbcb2b1 -[UIWindow addRootViewControllerViewIfPossible] + 58
11 UIKit 0x000000010fbcb64a -[UIWindow _setHidden:obligado:] + 276
12 UIKit 0x000000010fbd7a81 -[UIWindow makeKeyAndVisible] + 42
13 UIKit 0x000000010fb825cd -[UIApplication _callInitializationDelegatesForMainscene:transitionContext:] + 2628
14 UIKit 0x000000010fb8529c -[UIApplication _runWithMainScene:transitionContext:finalización:] + 1350
15 UIKit 0x000000010fb84168 -[UIApplication workspaceDidEndTransaction:] + 179
16 FrontBoardServices 0x0000000112665513 __31-[FBSSerialQueue performAsync:]_block_invoke + 16
17 CoreFoundation 0x000000010f230aac __CFRUNLOOP_ES_LLAMAR_FUERA_A_A_BLOQUE
+ 12
18 CoreFoundation 0x000000010f2267f5 __CFRunLoopDoBlocks + 341
19 CoreFoundation 0x000000010f2265b5 __CFRunLoopRun + 2389
20 CoreFoundation 0x000000010f2259f6 CFRunLoopRunSpecific + 470
21 UIKit 0x000000010fb83bdf -[UIApplication _puede ejecutar] + 413
22 UIKit 0x000000010fb86990 UIApplicationMain + 1282
23 lb 0x000000010edb6e5e top_level_code + 78
24 lb 0x000000010edb6e9a principal + 42
25 libdyld.dylib 0x00000001113b3145 inicio + 1
26 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminar con excepción no capturada de tipo NSException
(lldb)

InformationsquelleAutor Alexander | 2014-09-08

2 Kommentare

  1. 4

    Con el fin de convertir una cadena en un entero, basta con utilizar .toInt() y se le dará un valor entero para el uso. Como para cambiar el teclado, sólo puede traer un teclado en un iPhone si te pones en un iPad, simplemente va a mostrar el número de lados del teclado, pero el usuario puede cambiar de nuevo a normal de las letras, por lo tanto, usted necesita un teclado personalizado en un iPad. No obstante, a continuación se muestra el código para obtener el teclado en el iPhone:

    textField.keyboardType = UIKeyboardType.NumberPad

    Espero que ayude!

    • Para aclarar aún más, agregar el .toInt() después .texto, por lo que se ve así: let answer = textField1.text.toInt() / textField2.text.toInt() y la tienda esta en un valor entero antes de volver a ponerlo en la cadena como esta: label.text = "\(answer)"
    • ok, así que es corregido los errores, pero sigo recibiendo este error cuando inicio que no entiendo cómo arreglar i.imgur.com/GLSix1l.png
    • y yo no sé realmente lo que significa
    • Yo no puede decir cuál es el problema que tienen desde que, lamentablemente, copie el error de la consola y añadirlo a tu pregunta, así que me puedes echar un vistazo. Asegúrese de xcode y iOS8 son hasta la fecha también. Verificación de desarrollador.apple para asegurarse de que
    • me fijo, tuve que volver a escribir todo el código en un nuevo proyecto y funcionó ahora 🙂
    • Lo extraño, me alegro de su fijo
    • Creo que, después de haber visto el error, se había enganchado un UIButton algo en el guión gráfico que ya no existía (como a la retirada de un IBAction) – tengo un mensaje de error similar esta mañana y me tomó las edades de averiguar
    • toInt ya no está disponible en Swift 2. Uso Int(string)

  2. 0

    Usted podría intentar esto:

    @IBAction var text1:UITextField!
    @IBAction var text2:UITextField!
    @IBAction var Answer:UILabel!
    
    @IBAction func buttonClicked(sender:UIButton){
      Answer.text="\(text1.text.toInt()/text2.text.toInt())"
    }

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea