Я надеюсь, что кто-то сможет помочь мне понять, что именно я делаю неправильно в своем коде при преобразовании моего проекта из Swift 1.2 в Swift 2.0.
Я пытаюсь загрузить и проанализировать данные JSON (используя обновленную ветку SwiftJSON), но продолжаю получать сообщение об ошибке Не удается вызвать инициализатор для типа «Миньон» со списком аргументов типа «(minionDetails: Element)» сильный>.
Кажется, мне удалось успешно преобразовать остальную часть моего кода, но эта строка удерживает меня от создания проекта.
Миньон.стриж
import Foundation
import UIKit
class Minion : NSObject, NSCoding {
var name: String?
var age: String?
class func fetchMinionData() -> [Minion] {
var myURL = "http://myurl/test.json"
let dataURL = NSURL(string: myURL)
var dataError: NSError?
let data: NSData?
do {
data = try NSData(contentsOfURL: dataURL!, options: NSDataReadingOptions.DataReadingMappedIfSafe)
} catch let error as NSError {
dataError = error
data = nil
}
let minionJSON = JSON(data!)
var minions = [Minion]()
for minionDictionary in minionJSON {
minions.append(Minion(minionDetails: minionDictionary))
//THIS LINE GIVES THE ERROR
}
return minions
}
init(minionDetails: JSON) {
name = minionDetails["san"].string
age = minionDetails["age"].string
}
required init?(coder aDecoder: NSCoder) {
name = aDecoder.decodeObjectForKey("name") as? String
age = aDecoder.decodeObjectForKey("age")as? String
}
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(name, forKey: "name")
aCoder.encodeObject(age, forKey: "age")
}
}
Я предполагаю, что добавляю что-то неправильное, но я не могу понять это. Любая помощь будет принята с благодарностью!