2015-08-23 3 views
0

Я пытаюсь добавить данные JSON в массив. В то время как перекручивание он держит толкая ошибку 'не может ссылаться на инициализатору к типу 'элемент' с аргументом типа (ID: JSON, название: JSON, подробно: String, ImageUrl: String)'не может вызывать инициализатор для типа 'item' Swift iOS

enter image description here

это как инициализатор «Item» выглядит следующим образом: импорт UIKit

class Item: NSObject { 
    var id: String, title: String, detail: String, imageURL: String 

    init(id: String, title: String, detail: String, imageURL: String) { 
     self.id = id 
     self.title = title 
     self.detail = detail 
     self.imageURL = imageURL 
    } 
} 

ответ

1

ваш конструктор ожидают получить String и вы отправляете JSON

Я предполагаю, что вы используете SwiftyJSON

так изменить его

id : result[i]["id"].stringValue 
title : result[i]["title"].stringValue 

, если вы не используете SwiftJSON бросьте в строку

result[i]["id"] as! String //warning, this is not safe and better with if let 
+2

Вы потрясающий: D –

0

Вы должны бросить свои объекты как определенный типа Перед инициализации вашего объекта. Попробуйте что-нибудь подобное.

var item: Item = Item(id: result[i]["id"] as! Int) 

Я предполагаю только тип значения, но вы получаете идею. Попробуйте сделать каждое из ваших значений явным типом.

+1

результат [i] ["id"]. StringValue работал спасибо в любом случае.! –

Смежные вопросы