Bir REST API Yöneticisi üzerinde çalışıyorum. Bir hata veriyor ve düzeltemiyorum. Aldığım hata, vurgulandığı gibi aşağıda verilmiştir.Hata "iş parçacığı 1: kesme noktası 2.1"
import Foundation
import Alamofire
import SwiftyJSON
class RestApiManager {
var resources: JSON = [
"resources": [
"resourceA": []
]
]
let apiUrl: String
let apiUsername: String
let apiPassword: String
init(apiUrl: String, apiUsername: String, apiPassword: String) {
self.apiUrl = apiUrl
self.apiUsername = apiUsername
self.apiPassword = apiPassword
getApiResourceA() { responseObject, error in
let resourceA = JSON(responseObject!)
self.resources["resources"]["resourceA"] = resourceA
}
}
func collectDataFromApi(completionHandler: (responseObject: NSDictionary?, error: NSError?) ->()) {
prepareHttpRequest(completionHandler)
}
func prepareHttpRequest(completionHandler: (responseObject: NSDictionary?, error: NSError?) ->()) {
let alamofireRequest = Alamofire.request(.GET, "\(self.apiUrl)")
alamofireRequest.authenticate(user: self.apiUsername, password: self.apiPassword)
alamofireRequest.responseJSON { request, response, responseObject, error in
completionHandler(responseObject: responseObject as? NSDictionary, error: error)
}
}
func getAllResources() -> JSON {
return self.resources
}
func getApiResourceA(completion: (responseObject: NSDictionary?, error: NSError?) ->()) {
collectDataFromApi() { responseObject, error in
completion(responseObject: responseObject, error: error)
}
}
}
Ve kaynaklarını almak için bu sınıf çağırdığınızda:
override func viewDidLoad() {
super.viewDidLoad()
if record != nil {
let url = record?.url
let username = record?.username
let password = record?.password
let restApiManager = RestApiManager(apiUrl: url!, apiUsername: username!, apiPassword: password!) // This line seems buggy
let delay = 10.0 * Double(NSEC_PER_SEC)
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
dispatch_after(time, dispatch_get_main_queue()) {
let Resources = restApiManager.getAllResources()
let ResourceA = Resources["resources"]["resourceA"]
}
}
}
Ben baskılar yorumladı hattı:
parçacığı 1: ihtiyacım 2,1
çalışma noktasının Bu hatayı düzeltmek için öneriler. Herhangi bir öneri
Bu bir kesme noktasıdır. Yürütmeye devam etmek için Devam Et'e (⌃⌘Y) basın. Ardından, herhangi bir hata mesajının çıkıp çıkmadığını görün. – jtbandes
Bir NSURL nesnesinin başlatılması sırasında ["Konu 1: kesme noktasında durduruldu" hatasının olası kopyası] (http://stackoverflow.com/questions/10016890/thread-1-stopped-at-breakpoint-error-when-initializing-an -nsurl-nesne) –