我正在建立一个基本的待办事项列表。
我制作了一个Swift文件,打算将项目添加到列表中
import UIKit
class AddKey: UIViewController {
@IBOutlet weak var keyValue: UILabel!
@IBOutlet weak var keyDescription: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "dismissAndSaveKey" {
let key = Key(description: keyDescription.text!)
KeyStore.sharedInstance.add(key) // I get an ERROR at this line
}
}
}
错误是:
KeyStore.sharedInstance.add(key)",我得到一个"缺少参数标签 '键:'在电话中
现在,KeyStore有一个成员
var keys: [Key] = []
sharedInstance创建类
的静态实例此外,定义了添加方法
func add(key: Key) {
keys.append(key)
}
为什么我必须指定密钥类型才能将密钥传递给add方法?此外,如果我确实指定了键的类型,编译器会抱怨它期望键入Key而不是Key.type。
如果我写
KeyStore.sharedInstance.add(key)
作为
KeyStore.sharedInstance.keys.append(key)
错误消失了,一切正常。