0
我这里有这个代码运行的alertview并显示一个文本字段,要求主题名称斯威夫特错误,而试图从alertview文本框印刷可变
alertController.addAction(UIAlertAction(title: "Ok", style: .Default, handler:{ (alertAction:UIAlertAction!) in
var textf= alertController.textFields[0] as UITextField
self.items += [self.textf]
println(self.items)
println(textf)
self.view .setNeedsDisplay()
}))
再林在声明变量项目和textf出在代码的顶部是功能的使用此代码
var items = ["English"]
let textf = ""
但问题是,当我跑我的应用程序,然后点击我的按钮,显示alertview和我在我的题目类型,然后单击确定我得到这个当它试图打印出字符串时出错。它只是打印出此错误,并不会关闭我的应用程序
<_UIAlertControllerTextField: 0x7f9d22d1c430; frame = (4 4; 229 16); text = 'irish'; clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0x7f9d22cc55f0>; layer = <CALayer: 0x7f9d22d1c6e0>>
它说,在文中我输入了错误,但因为当我打印出来的阵列items
它打印出它不是将它添加到变量
[English, ]
,而不是
[English, irish]
感谢它添加文本F到项阵列,但唯一的事情是,我仍然收到这个错误,当我打印出来textf我认为很奇怪,因为items数组获取文本,你会知道为什么会发生这种情况 – 2014-09-04 19:52:19
这不是一个错误。这是一个'UITextField'被转换为一个字符串,这正是您打印'UITextField'时所期望的。如果你想要这个字符串,那么:'println(textf!.text)' – 2014-09-04 20:34:42
谢谢你测试完成并完美工作 – 2014-09-05 20:21:20