ОБНОВЛЕНИЕ 2 Я пытался обработать ошибки переноса, добавив сценарий автоматической очистки, но получаю сообщение об ошибке
Ожидаемая декларация
ОБНОВЛЕНИЕ 1
Я пытался заменить (response: Response<Particulars, NSError>)
на (response: Response<AnyObject, NSError>)
и получаю эту ошибку на let realm = try! Realm()
фатальная ошибка: "попробуй!" выражение неожиданно вызвало ошибку
Это мой POST-запрос:
import Foundation
import Alamofire
import SwiftyJSON
import RealmSwift
import ObjectMapper
import AlamofireObjectMapper
class Login {
init(userName: String, passWord: String) {
Data.sharedInstance.userName = userName
Data.sharedInstance.passWord = passWord
}
// call this method to login
func getRequest() {
Alamofire.request(.POST, Data.todoEndpoint, parameters: ["username": Data.sharedInstance.userName!, "password": Data.sharedInstance.passWord!])
.responseJSON { (response: Response<AnyObject, NSError>) in
if let result = response.result.value
{
let value = JSON(result)
let realm = try! Realm()
do{
try realm.write{
realm.add(result as! Object, update: true)
}
}
catch let err as NSError {
print("Error with realm: " + err.localizedDescription)
}
}
else
{
print("JSON data is nil.")
}
}
}
}
Старый пост
У меня есть ответ JSON, который я могу получить с помощью почтового запроса с помощью Alamofire. Теперь я хочу сопоставить свои данные с базой данных в Realm, используя AlamofireObjectMapper
, но мне выдается эта ошибка
Невозможно преобразовать значение типа '(Response)->()' в ожидаемый тип аргумента 'Response->Void'
{
"name" : "Jonny Walker",
"api_token" : "qwertyuiop1234567890",
"profile_picture" : "http:default_profile_picture.jpg",
"id" : 10,
"email" : "[email protected]"
"username" : "jonny"
}
Как решить эту проблему?
Это мой запрос POST
Alamofire.request(.POST, Data.todoEndpoint, parameters: ["username": Data.sharedInstance.userName!, "password": Data.sharedInstance.passWord!])
.responseJSON { (response: Response<Particulars, NSError>) in
var errorFound = Bool()
var errorMessage = String()
if let result = response.result.value
{
let value = JSON(result)
let realm = try! Realm()
try! realm.write {
for particular in result {
realm.add(particular,update: true)
}
}
}
}
Здесь я инициализирую свои объекты Realm
class Particulars: Object, Mappable {
dynamic var name = ""
dynamic var email = ""
dynamic var id = 0
dynamic var profilePicture = ""
dynamic var username = ""
dynamic var apiToken = ""
override static func primaryKey() -> String? {
return "id"
}
//Impl. of Mappable protocol
required convenience init?(_ map: Map) {
self.init()
}
func mapping(map: Map) {
id <- map["id"]
name <- map["name"]
email <- map["email"]
profilePicture <- map["profile_picture"]
username <- map["username"]
apiToken <- map["api_token"]
}
}