Я пытаюсь создать отказоустойчивый инициализатор для класса. Мой класс будет инициализирован с использованием ввода из сетевого запроса. Сети ненадежны, я хочу создать инициализатор для проверки наличия на всех свойствах, и для этого в противном случае не будет.
Я пытаюсь использовать здесь охрану, поэтому, пожалуйста, не стесняйтесь указывать на очевидные ошибки в подходе:
public class JobModel {
let jobId: String
let status: String
let toName: String
let toAddress: String
let description: String
let fee: Int
let jobDate: NSDate
let fromName: String
let fromAddress: String
init?(job: [String:AnyObject]) throws {
guard self.jobId = job["jobid"] as! String else {
throw InitializationError.MissingJobId
}
}
}
Строка guard self.jobId
не компилируется с ошибкой:
Ambiguous reference to member 'subscript'
Любые идеи о том, как исправить эту ошибку?