Любая идея, почему sendSynchronousRequest
не работает, и возвращает нуль. Ошибка и ответ тоже нуль.NSURLConnection sendSynchronousRequest не работает
let url = NSURL(fileURLWithPath: "http://google.com")!
let ur = NSMutableURLRequest(URL: url)
let response: AutoreleasingUnsafeMutablePointer<NSURLResponse?> = nil
let errorPtr = NSErrorPointer()
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
let data = NSURLConnection.sendSynchronousRequest(ur, returningResponse: response, error: errorPtr)
if errorPtr != nil {
var error: NSError = errorPtr.memory!
}
})
UPDATE
Я пытался в асинхронном образом:
var oq = NSOperationQueue()
NSURLConnection.sendAsynchronousRequest(ur, queue: oq, completionHandler: {response, data, error in
let ii = 7
})
Здесь я получаю сообщение об ошибке:
(lldb) po error Error Domain=NSURLErrorDomain Code=-1100 "The requested URL was not found on this server." UserInfo=0x1567f9d0 {NSErrorFailingURLStringKey=file:///http:/google.com, NSErrorFailingURLKey=file:///http:/google.com, NSLocalizedDescription=The requested URL was not found on this server., NSUnderlyingError=0x15691880 "The requested URL was not found on this server."}
Странная Google не доступен?
Почему использовать 'sendSynchronousRequest 'в' dispatch_async', когда вы можете легко использовать 'sendAsynchronousRequest:'? – zaph
Определить «не работает». Нет запросов 'println()' отладки, вы поставили точку останова после вызова 'sendSynchronousRequest' и проверили результаты? – zaph
При написании кода, и он не работает, лучший подход состоит в том, чтобы предположить, что это код, который только что написал, а не система. Это работало хорошо для меня в течение нескольких десятилетий. Также, как правило, чтение сообщений об ошибках обычно обеспечивает хорошую информацию, в этом случае: «NSErrorFailingURLKey = file: /// http: /google.com» находится на месте. – zaph