У меня есть эта проблема. Я разрабатываю приложение в Swift и использую RestKit для извлечения и отправки данных обратно в API. Однако я попал в блок дорог. Если получен JSON полезной нагрузки содержит некоторое нулевое значение, то приложение Виль аварии с сообщением:RestKit JSON ошибка с нулевым значением
*** Нагрузочный приложение из-за неперехваченного исключением «NSInvalidArgumentException», причина: «- [длина NSNull]: непризнанные селектор направлен например 0x1994faba0 '
Что мне делать? Отображаемые свойства - это строки.
отображенный объект:
public class User: NSObject {
public var id: Int? = 0
public var email: String?
public var firstName: String?
public var lastName: String?
public var name: String?
public var office: String?
public var phone: String?
public var company: String?
}
Mapping:
let userMapping = RKObjectMapping(forClass: User.self)
userMapping.addAttributeMappingsFromDictionary([
"id": "id",
"email": "email",
"first_name": "firstName",
"last_name": "lastName",
"name": "name",
"company": "company",
"phone": "phone",
"office": "office",
])
let responseDescriptor = RKResponseDescriptor(mapping: userMapping, pathPattern: currentUserPath, keyPath: "data", statusCodes: NSIndexSet(index: 200))
objectManager.addResponseDescriptor(responseDescriptor)
JSON ответ:
{
"status": "ok",
"data": {
"id": 1,
"email": "[email protected]",
"created_at": 1418832714451,
"updated_at": 1421077902126,
"admin": true,
"first_name": "John",
"last_name": "Doe",
"company": null,
"office": null,
"phone": null,
"name": "John Doe"
}
}
Он врезается на каждом из них: офис, телефон и имя.
Показать JSON и ваше отображение. Улучшите JSON. Добавьте в свой код обработку NSNull. – Wain
Я отредактировал свой вопрос, чтобы удовлетворить ваш запрос :) Как мне обращаться с NSNull самостоятельно с помощью RestKit? –
Какая версия вы используете (она должна конвертировать в нуль действительно) – Wain