Я работаю над проектом в Swift 2.3, и я использую структуру AlamoFire и SwiftyJSON для реализации методов вызова веб-сервера.Использование незаявленного типа «JSONDictionary»
Таким образом, я написал класс singleton для вызова этих функций вызова сервера, где бы я ни захотел в своем проекте.
Поэтому, например, после нажатия кнопки входа в систему будет выполняться функция входа в этот класс.
Но когда я построить и запустить проект и после нажатия кнопки Войти сливают сбои приложений, и я получаю вопрос, обозначающее
Использование необъявленной типа «JSONDictionary».
Код, приведенный ниже, и строка, в которой я попал, отмечены комментарием.
import UIKit
import Alamofire
import SwiftyJSON
struct Singleton {
static let instance : APIManager = APIManager()
}
public class APIManager: NSObject {
var appURLs = AppURLs.sharedInstance
public class var sharedInstance: APIManager {
return Singleton.instance
}
let manager = Manager()
override init() {
}
func login(username: String, password: String, completion: (user: User, success: Bool) ->(), failed:(error: NSError) ->()) -> Request {
let baseURL = NSURL(string: appURLs.mainBaseURL);
let urlRequest = NSURLRequest(URL: baseURL!.URLByAppendingPathComponent(appURLs.loginURL)!)
return manager.request(urlRequest)
.validate()
.responseJSON { response in
if let error = response.result.error {
failed(error: error)
print(error)
return;
}
print("working up to here")
let ok = ((response.result.value as! JSONDictionary)["success"] as? Bool)!//This is where I get the issue
if ok {
let userJson = JSON((response.result.value as! JSONDictionary)["user"]!)
let token = ((response.result.value as! JSONDictionary)["token"] as? String)!
NSUserDefaults.standardUserDefaults().setValue(token, forKey: "TOKEN")
NSUserDefaults.standardUserDefaults().synchronize()
//let user = user(json: userJson)
let user = User()
user.displayName = userJson ["displayName"].string
print("displayName is :", user.displayName)
completion(user: user,success: ok)
}
Мне жаль, что новый для быстрой, поэтому с какой строки я должен избавиться и где разместить этот код – danu
Отредактировал свой ответ, проверьте его. – Jeremy
Я не получаю ответ от jsonObj. Любая идея, почему? – danu