Обработчик завершения NSURL никогда не вызывался в Swift

Попытка использовать NSURL и связанные классы для чтения некоторых данных с заданного URL-адреса. Это простая версия того, что я делаю:

    import Foundation

    let urlString = "http://www.google.com"
    let nsURL = NSURL(string:urlString)
    let task = NSURLSession.sharedSession().dataTaskWithURL(nsURL!) {
        (data, response, error) in
        print("data=\data(), response=\(response), error=\(error)")
    }

    task.resume()

Проблема, с которой я сталкиваюсь, заключается в том, что обработчик завершения, который я предоставляю, никогда не вызывается. Он отлично строится и работает в Xcode 7, но ничего не печатает. Я бы ожидал, что либо что-то напечатает, либо какое-то предупреждение.

Я видел этот идентичный вопрос, заданный в другом месте, но решение всегда заключалось в том, что человек забыл вызвать task.resume(). В этих случаях все принятые решения выглядели почти так же, как то, что я получил выше. Неспособность запустить задачу здесь не проблема, так что есть идеи, что это может быть?


person Philip    schedule 20.01.2016    source источник
comment
попробуй https://www.google.com   -  person Leo Dabus    schedule 20.01.2016
comment
stackoverflow.com/a/34687962/2303865   -  person Leo Dabus    schedule 20.01.2016
comment
@DharmeshKheni Это явно не дубликат этого вопроса ... даже беглое прочтение обоих вопросов проясняет это.   -  person Philip    schedule 25.01.2016
comment
Правильный ответ заключается в том, что основной поток завершался до того, как был вызван обработчик. Добавление цикла while(true){} в конце приведенного выше фрагмента дает время для вызова обработчика, хотя существуют и лучшие решения.   -  person Philip    schedule 25.01.2016