Xcode 6 Swift在文本字段中将字符串转换为Int

时间:2014-09-08 17:33:54

标签: xcode string swift int xcode6

所以我现在已经很久没遇到这个问题了,我无法理解。

所以我的基本想法是我有2个文本字段,用户在两个文本字段中放入一个数字(我不知道如何打开键盘但是如果有人知道如何会很好)我​​想要将它们分开相互之间的数字。

< Label.text =(Textfield1.text)/(Textfield2.text)>

所以我有3个变量,一个标签和两个文本字段,但我不断给我这个错误,字符串不能转换为UIint8。

这是带代码

的屏幕截图

enter image description here

这是故事板

enter image description here 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)

2 个答案:

答案 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())"
}