2015-01-26 3 views

ответ

3

Как и другие плакаты, так как вы проходите мимо true как startImmediately, вам фактически не нужно звонить start, но это не объясняет, почему он не найден.

var connection = NSURLConnection(request: theRequest, delegate: self, startImmediately: true) 

возвращает необязательный (запрос не может быть обрабатываемым NSURLConnection), поэтому вы должны разворачивать его, любой из:

connection!.start() 

connection?.start() 

if let connection = connection { 
    connection.start() 
} 
else { 
    // handle error case 
} 

будет работать для вас, в порядке возрастания предпочтения/безопасности.

+0

просто попробовал это, и если вы установили соединение? .start(), у вас не будет никаких ошибок. – Miknash

-1

это не подходит

Пожалуйста, проверьте документацию:. https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/index.html#//apple_ref/occ/instm/NSURLConnection/start

В частности

Calling this method is necessary only if you create a connection with the initWithRequest:delegate:startImmediately: method and provide NO for the startImmediately parameter. If you don’t schedule the connection in a run loop or an operation queue before calling this method, the connection is scheduled in the current run loop in the default mode.

Для того, чтобы начать работу, вы должны изменить startImmediately: true к startImmediately: false

Смежные вопросы