每当我尝试从文本字段获取输入时,都会出现此错误。谁能帮忙吗?
2017-05-08 17:45:04.962124 MyPhotos[32987:246251] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/local/Library/Developer/CoreSimulator/Devices/05F02AB6-BDEA-43EA-9E7E-D547D3A0CC1A/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2017-05-08 17:45:04.962486 MyPhotos[32987:246251] [MC] Reading from private effective user settings.
码:
class AddPhotoController: UIViewController,UITextFieldDelegate {
@IBOutlet weak var photoTitle: UITextField!
@IBOutlet weak var photoTags: UITextField!
@IBOutlet weak var photoURL: UITextField!
@IBOutlet weak var photoPreview: UIImageView!
@IBAction func savePhoto(sender: AnyObject) {
let title: String = photoTitle.text!
}
}
最佳答案
你说:
可以说我有一个按钮,当我按下按钮时我想获取文本字段的值
如果由于某种原因您无法从photoTitle
读取值,则您的应用将在此行崩溃:let title: String = photoTitle.text!
在这里,您尝试将photoTitle.text
的值强制为String
而不管其是否为nil,而Swift并不喜欢这样:)
因此,第一道防线可能是在使用值之前检查该值是否确实为nil
,并且只有在该值不为nil时,才使用它。就像是:
@IBAction func savePhoto(sender: AnyObject) {
if photoTitle.text != nil {
let title = photoTitle.text!
}
}
现在您知道
title
的值不是nil,可以安全地使用它了。下一个问题...为什么首先是零?您的
@IBOutlet
似乎有问题。看来photoTitle
var没有正确连接到情节提要中的UITextField
。您可以验证Interface Builder中的UITextField
是否正确连接到您的photoTitle
变量吗?希望这对您有帮助。