Контроллер Swift iOS API перестает работать

Я использую файл для обработки своих вызовов для моих API-интерфейсов, который выглядит следующим образом:

import UIKit

protocol APIControllerProtocol {
    func JSONAPIResults(results: NSArray)

}

class APIController: NSObject {
    var delegate:APIControllerProtocol?

    func GetAPIResultsAsync(urlString:String, elementName:String) {

        //The Url that will be called
        var url = NSURL.URLWithString(urlString)
        //Create a request
        var request: NSURLRequest = NSURLRequest(URL: url)
        //Create a queue to hold the call
        var queue: NSOperationQueue = NSOperationQueue()

        // Sending Asynchronous request using NSURLConnection
        NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler:{(response:NSURLResponse!, responseData:NSData!, error: NSError!) ->Void in
            var error: AutoreleasingUnsafeMutablePointer<NSError?> = nil
            //Serialize the JSON result into a dictionary
            let jsonResult: NSDictionary! = NSJSONSerialization.JSONObjectWithData(responseData, options:NSJSONReadingOptions.MutableContainers, error: error) as? NSDictionary

            //If there is a result add the data into an array
            if jsonResult.count>0 && jsonResult["\(elementName)"]?.count > 0 {

                var results: NSArray = jsonResult["\(elementName)"] as NSArray
                //Use the completion handler to pass the results
                self.delegate?.JSONAPIResults(results)

            } else {

                println(error)
            }
        })
    }
}

Я вызываю это, используя что-то похожее на это:

var APIBaseUrl: String = "http://***.se/**/**.php"
        var urlString:String = "\(APIBaseUrl)"

        self.api.delegate = self
        api.GetAPIResultsAsync(urlString, elementName:"groupActivities")

Это недавно отлично поработало, но теперь мое приложение вылетает, и я вызываю эту строку в APIController:

let jsonResult: NSDictionary! = NSJSONSerialization.JSONObjectWithData(responseData, options:NSJSONReadingOptions.MutableContainers, error: error) as? NSDictionary

Единственное, что я могу придумать, это изменилось, так это то, что я переключился с мобильного 4G-Интернета на мой WiFi.

В журнале я получаю: fatal error: unexpectedly found nil while unwrapping an Optional value

Изюминка говорит: Thread 5: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

Это происходит независимо от того, какой API я звоню. Я запускаю Xcode 6.0.1 и не делал никаких последних обновлений.

Ура!

Ответ 1

Многие люди сообщают об ошибке с подключением Xcode 6.0 GM и Wifi.

Чтобы решить эту проблему, попробуйте выполнить следующие шаги

  • Закрыть ваш симулятор
  • Закройте свой Xcode
  • Перейдите в папку DerviedData и удалите все папки под ним. (~/Library/Разработчик/Xcode/DerivedData) Не беспокойтесь, папки будут созданы снова, когда вы откроете свой проект в Xcode.