未展开的可选类型的值

时间:2015-12-17 18:39:00

标签: ios swift

import UIKit
class ViewController: UIViewController {
  @IBOutlet weak var simpleText: UITextField! 
  @IBOutlet weak var simpleLable: UILabel!

  @IBAction func changeText(sender: AnyObject) {
    simpleLable.text + ()
    simpleLable.text = "Hello, " + simpleText.text
  }
}

changeText函数中出现错误,错误是

  

可选类型String的值?没有打开

不是故意使用!或?? ??

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您希望使用此方法获得什么?

import ( "fmt" "go/ast" "go/parser" "go/token" ) func packageName(file string) (string, error) { fset := token.NewFileSet() // parse the go soure file, but only the package clause astFile, err := parser.ParseFile(fset, l.path, nil, parser.PackageClauseOnly) if err != nil { return "", err } if astFile.Name == nil { return "", fmt.Errorf("no package name found") } return astFile.Name.Name, nil } 应该做什么?

您似乎希望在标签中输入用户文字。您应该打开simpleLable.text + (),因为它是可选的。您可以使用simpleText.text打开text

??

这意味着:如果@IBAction func changeText(sender: AnyObject) { simpleLable.text = "Hello, " + simpleText.text ?? "" } (例如不存在)则改为使用空字符串。