2012-08-23 103 views
0

我試圖實現NSURLConnectionDataDelegate協議的方法,但有一種方法,名爲connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:,不希望被委託調用。 Apple documentation不提供足夠的信息,所以我不知道如何使用它。這種方法的任何幫助對我來說都是有用的。NSURLConnectionDataDelegate方法未調用

+0

https://developer.apple.com/library/mac/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/occ/intfm/NSURLConnectionDelegate/connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite: – janusbalatbat

+0

@janusfidel:在這一點上,文檔是有誤導性的。 'connection:didSendBodyData:...'只被移動到'NSURLConnectionDataDelegate'協議。它仍然可以使用,我知道沒有替代品。見例如在http://stackoverflow.com/questions/7803472/nsurlconnection-methods-no-more-available-in-ios5中的討論。 –

+0

我看到了這個討論。它沒有給出答案如何使用這種方法。 – user1248568

回答

0

如果您通過POST請求使用NSURLConnection將數據上傳到http服務器,則會定期調用connection:didSendBodyData:...委託方法以通知您有關上載進度的信息。

1

我正在將一些obj-c代碼移植到Swift中,無法調用didSendBodyData方法。結果是我的方法簽名不太正確。確保你的方法準確地匹配API。在快速它看起來像這樣:

func connection(connection: NSURLConnection, didSendBodyData bytesWritten: Int, totalBytesWritten: Int, totalBytesExpectedToWrite: Int) { 
    // Update the progressbar 
    println("didSendBodyData") 
} 

希望這有助於下一個傢伙(或加侖)。