2010-01-20 61 views
4

NSURLConnection的的文件說,有委託方法,如NSURLConnection協議在哪裏?

connection:willSendRequest:redirectResponse: 

但文件沒有提到要實現哪些委託協議。那麼,我認爲代表沒有任何協議,所以一切都只是可選的?

回答

13

這是對NSObject的在NSURLConnection.h實現爲一個類別的informal protocol

@interface NSObject (NSURLConnectionDelegate) 

這意味着NSObject中的任何子類可以爲NSURLConnection的委託。是的,所有委託方法都是可選的。

+5

對於任何未來閱讀此答案的人:[NSURLConnectionDelegate](http://developer.apple.com/library/mac/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSURLConnectionDelegate)是Mac OS X 10.7(Lion)的正式協議。 – jtbandes 2011-07-29 00:35:13

0

沒有一個,雖然可能應該是完整的,但它是沒有必要的。 Objective-C在一個名爲Duck typing的概念上工作,它基本上意味着如果對象上有方法,即使它不是協議或頭部定義的一部分,仍然可以向其發送消息。