【问题标题】:Optional("var") in printlnprintln 中的可选(“var”)
【发布时间】:2014-10-18 13:01:51
【问题描述】:

如果我尝试打印一个 var,我会遇到问题,如果我尝试记录它或将它打印到标签,有时会得到一个“可选(“var”)”,但当我没有得到它时。

看这里

ViewController.swift

import UIKit
class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        NSUserDefaults.standardUserDefaults().setObject("notWorking", forKey: "testvar")
        NSUserDefaults.standardUserDefaults().synchronize()
        println(NSUserDefaults.standardUserDefaults().stringForKey("testvar"))
        var test = "working"
        println(test)
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

任何人都可以解释这个“可选”何时出现以及它的用途是什么?怎么去掉?

【问题讨论】:

  • 嗨,我也很想知道为什么Optional 如果! 没有跟在变量名后面,它会出现。你有没有找到解决方案?

标签: swift var println


【解决方案1】:

oki 只需添加一个“!”

println(NSUserDefaults.standardUserDefaults().stringForKey("testvar")!)

【讨论】:

  • 如果stringForKey() 返回 nil 会崩溃,即“如果默认值不存在或者不是字符串或数字值”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-20
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 2012-07-08
  • 2011-11-05
  • 2011-04-20
相关资源
最近更新 更多