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的值?没有打开
不是故意使用!或?? ??
我该怎么办?
答案 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 ?? ""
}
(例如不存在)则改为使用空字符串。