ios - 升级到 swift 2.1 后,Swift 返回可选的 ("value")

标签 ios xcode swift

我是 swift 的新手,刚刚学习了 sqlite 教程,它运行得很好,但在升级到 swift 2.1 后,它在我的结果中附加了“可选”,我该如何摆脱它?

查找数据功能

    @IBAction func findContact(sender: UIButton)
    {
        if database.open() {
        let querySQL = "SELECT address, phone FROM CONTACTS WHERE name = '\(name.text)'"

            let results:FMResultSet? = database.executeQuery(querySQL,withArgumentsInArray: nil)
            if results!.next() == true {
                if let address1=results!.stringForColumn("address")
                {
                address.text = address1
                }

                phone.text = results!.stringForColumn("phone")
                status.text = "Record Found"
            } else {
                status.text = "Record not found"
                address.text = ""
                phone.text = ""
            }
            database.close()
        } else {
            print("Error: \(database.lastErrorMessage())", terminator: "")
        }
        }

保存数据功能

@IBAction func saveData(sender: UIButton)
        {
            let database = FMDatabase(path: databasePath as String)

            if database.open() {

                let insertSQL = "INSERT INTO CONTACTS (name, address, phone) VALUES ('\(name.text)', '\(address.text)', '\(phone.text)')"

                let result = database.executeUpdate(insertSQL,
                    withArgumentsInArray: nil)

                if !result {
                    status.text = "Failed to add contact"
                    print("Error: \(database.lastErrorMessage())", terminator: "")
                } else {
                    status.text = "Contact Added"
                    name.text = ""
                    address.text = ""
                    phone.text = ""
                }
            } else {
                print("Error: \(database.lastErrorMessage())", terminator: "")
            }

        }

screen shot

最佳答案

问题不在于您选择数据时。问题在于您插入数据时。在插入时,您只需在表格中插入可选值,如地址字段和电话号码,如屏幕截图所示...所以,在插入时,您需要解包该可选值以避免 optional() 关键字。

关于ios - 升级到 swift 2.1 后,Swift 返回可选的 ("value"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33450050/

相关文章:

iphone - 以编程方式枚举 UIViewController 的传出 Segue

ios - 如何为位于 LaunchScreen 上的 UIImageView 添加边框?

swift - iOS Swift - 如何将控制台输出保存为文本文件(即 println()、NSLog())

ios - 有什么方法可以为重复的 UI 元素(例如 UITableViewCells)设置手势识别器吗?

swift - 声音导致游戏在 swift sprite 套件游戏中滞后?

swift - Xcode 6 中的 Storyboard问题

ios - 无法在 iPhone X 上将界面方向旋转为纵向颠倒

iphone - 为什么我在发送多个请求时收到此错误(HTTP 错误 400。)?

xcode - 包含 Cocoa.h 会导致我的项目出现 9646 错误

iOS 存档 "Upload to App Store"按钮变灰