所以我现在已经很久没遇到这个问题了,我无法理解。
所以我的基本想法是我有2个文本字段,用户在两个文本字段中放入一个数字(我不知道如何打开键盘但是如果有人知道如何会很好)我想要将它们分开相互之间的数字。
< Label.text =(Textfield1.text)/(Textfield2.text)>
所以我有3个变量,一个标签和两个文本字段,但我不断给我这个错误,字符串不能转换为UIint8。
这是带代码
的屏幕截图
这是故事板
PS:我对这个Xcode有点新意,所以问题可能非常明显:/
这是错误代码(当我没有
时,它给了我一个错误让answer2 = textfield1.text.toInt()! / textfield2.text.toInt()!
2014-09-12 15:16:05.764 lb [3107:261572] *由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不是键值编码 - 符合ButtonO的关键。 * 第一次抛出调用堆栈: ( 0 CoreFoundation 0x000000010f2fb3e5 exceptionPreprocess + 165 1 libobjc.A.dylib 0x0000000110e11967 objc_exception_throw + 45 2 CoreFoundation 0x000000010f2fb029 - [NSException raise] + 9 3基础0x000000010f713383 - [NSObject(NSKeyValueCoding)setValue:forKey:] + 259 4 CoreFoundation 0x000000010f2453f0 - [NSArray makeObjectsPerformSelector:] + 224 5 UIKit 0x000000010fe4716d - [UINib instantiateWithOwner:options:] + 1506 6 UIKit 0x000000010fca9d78 - [UIViewController _loadViewFromNibNamed:bundle:] + 242 7 UIKit 0x000000010fcaa368 - [UIViewController loadView] + 109 8 UIKit 0x000000010fcaa5d9 - [UIViewController loadViewIfRequired] + 75 9 UIKit 0x000000010fcaaa6e - [UIViewController视图] + 27 10 UIKit 0x000000010fbcb2b1 - [UIWindow addRootViewControllerViewIfPossible] + 58 11 UIKit 0x000000010fbcb64a - [UIWindow _setHidden:forced:] + 276 12 UIKit 0x000000010fbd7a81 - [UIWindow makeKeyAndVisible] + 42 13 UIKit 0x000000010fb825cd - [UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 2628 14 UIKit 0x000000010fb8529c - [UIApplication _runWithMainScene:transitionContext:completion:] + 1350 15 UIKit 0x000000010fb84168 - [UIApplication workspaceDidEndTransaction:] + 179 16 FrontBoardServices 0x0000000112665513 __31- [FBSSerialQueue performAsync:] _ block_invoke + 16 17 CoreFoundation 0x000000010f230aac __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK + 12 18 CoreFoundation 0x000000010f2267f5 __CFRunLoopDoBlocks + 341 19 CoreFoundation 0x000000010f2265b5 __CFRunLoopRun + 2389 20 CoreFoundation 0x000000010f2259f6 CFRunLoopRunSpecific + 470 21 UIKit 0x000000010fb83bdf - [UIApplication _run] + 413 22 UIKit 0x000000010fb86990 UIApplicationMain + 1282 23磅0x000000010edb6e5e top_level_code + 78 24磅0x000000010edb6e9a主+ 42 25 libdyld.dylib 0x00000001113b3145 start + 1 26 ??? 0x0000000000000001 0x0 + 1 ) libc ++ abi.dylib:以NSException类型的未捕获异常终止 (lldb)
答案 0 :(得分:4)
为了将字符串转换为int,只需使用.toInt()
,它将为您提供一个整数值。至于更换键盘,你只能在iPhone上调出键盘 - 如果你在iPad上试试,它只会显示键盘的数字侧,但用户可以改回普通字母,因此你需要一个自定义iPad上的键盘。尽管如此,下面是获取iPhone上键盘的代码:
textField.keyboardType = UIKeyboardType.NumberPad
希望有所帮助!
答案 1 :(得分:0)
你可以试试这个:
@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())"
}