如何在 swift 2 中将 UITextField 保存到核心数据?

Posted

技术标签:

【中文标题】如何在 swift 2 中将 UITextField 保存到核心数据?【英文标题】:How to save UITextField to Core Data in swift 2? 【发布时间】:2015-12-09 01:50:49 【问题描述】:

我正在尝试将 UITextField 中的一些文本保存到 xcode 7 中的 CoreData,swift 2.0

  @IBOutlet weak var titleName: UITextField!
@IBOutlet weak var problemDescription: UITextField!
@IBOutlet weak var targetMarket: UITextField!

//Save information to core data
@IBAction func saveInformation(sender: AnyObject)  
    print("Attempting to save!")
    let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    let context: NSManagedObjectContext = appDel.managedObjectContext
    let newIdea = NSEntityDescription.insertNewObjectForEntityForName("SaveIdea", inManagedObjectContext: context)
    print("\(titleName) is cool")
    newIdea.setValue("\(titleName)", forKey: "title")
    newIdea.setValue("\(problemDescription)", forKey: "targetMarket")
    newIdea.setValue("\(targetMarket)", forKey: "problemSolved")
    do
        try context.save()
        print("Save Success!")
    catch 
        print("Error!")
    


但是,它将信息存储为 nil,当我尝试使用 (titleName.text!, forKey:...) 时(例如)它给了我一个错误 - 尝试解开和可选的 nil -

有人知道解决办法吗?提前谢谢你:)

【问题讨论】:

【参考方案1】:

您可以使用 nil 合并运算符,例如:

let text = titleName.text ?? "n/a" 
newIdea.setValue(text, forKey: "title")

【讨论】:

以上是关于如何在 swift 2 中将 UITextField 保存到核心数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 2.0 中将 HKQuanity 转换为 Int

如何在 Swift 2.3 中将 UInt8 转换为 Anyobject

如何在 Swift 中将文本居中?

我们如何在 swift 2.3 中将值附加到包含 3 个元素的字典中?

如何在 swift 2.0 中将 .pdf 文件转换为 base64 字符串?

如何在 swift 3.0 中将此类参数发送到服务器调用