2015-08-16 24 views
6

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

+1

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

+1

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) –

cevap

9

Takdir edilmeksizin bir kesme noktası belirlemiş olabilirsiniz.

enter image description here

tıklayın ve silmek için oluğun dışında kesme noktası temsil eden mavi kene sürükleyin.

İlgili konular