Czym różni się protokół formalny od nieformalnego, czytałem gdzieniegdzie że nie formalny podobny jest do kategorii, wiem że wychodzi z użytku przez słówko @optional?
Objective-C protokoły
Rozpoczęty przez
macQUB
, 05 cze 2011 13:35
1 odpowiedź w tym temacie
#1
Napisano 05 czerwca 2011 - 13:35
#2
Napisano 30 sierpnia 2011 - 10:09
Cytat z [URL="http://developer.apple.com/library/ios/#documentation/General/Conceptual/DevPedia-CocoaCore/Protocol.html"]dokumentacji[/URL]:
Formal and Informal Protocols
There are two varieties of protocol, formal and informal:
* An informal protocol is a category on NSObject, which implicitly makes almost all objects adopters of the protocol. (A category is a language feature that enables you to add methods to a class without subclassing it.) Implementation of the methods in an informal protocol is optional. Before invoking a method, the calling object checks to see whether the target object implements it. Until optional protocol methods were introduced in Objective-C 2.0, informal protocols were essential to the way Foundation and AppKit classes implemented delegation.
* A formal protocol declares a list of methods that client classes are expected to implement. Formal protocols have their own declaration, adoption, and type-checking syntax. You can designate methods whose implementation is required or optional with the @required and @optional keywords. Subclasses inherit formal protocols adopted by their ancestors. A formal protocol can also adopt other protocols.
Formal protocols are an extension to the Objective-C language.
Formal and Informal Protocols
There are two varieties of protocol, formal and informal:
* An informal protocol is a category on NSObject, which implicitly makes almost all objects adopters of the protocol. (A category is a language feature that enables you to add methods to a class without subclassing it.) Implementation of the methods in an informal protocol is optional. Before invoking a method, the calling object checks to see whether the target object implements it. Until optional protocol methods were introduced in Objective-C 2.0, informal protocols were essential to the way Foundation and AppKit classes implemented delegation.
* A formal protocol declares a list of methods that client classes are expected to implement. Formal protocols have their own declaration, adoption, and type-checking syntax. You can designate methods whose implementation is required or optional with the @required and @optional keywords. Subclasses inherit formal protocols adopted by their ancestors. A formal protocol can also adopt other protocols.
Formal protocols are an extension to the Objective-C language.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych