Я составляю базовый список дел.
Я создал файл 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 создает статический экземпляр класса
Более того, метод add определен
func add(key: Key) {
keys.append(key)
}
Зачем мне указывать тип ключа, чтобы передать ключ методу добавления? Более того, если я укажу тип ключа, компилятор жалуется, что он ожидал тип Key, а не Key.type.
если я напишу
KeyStore.sharedInstance.add(key)
as
KeyStore.sharedInstance.keys.append(key)
ошибка исчезла и все работает.
_перед меткой, если хотите игнорировать ее. - person Eric Aya   schedule 12.09.2016