user1040049
user1040049

Reputation:

Default Implementation of Objective-C Protocol

The method discussion for setValue:forKeyPath: in Apple's NSKeyValueCoding Protocol documentation starts with:

The default implementation of this method [...]

Now, this might just be me getting caught with semantics but:

  1. How can an Objective-C Protocol have a default implementation?
  2. Since NSObject doesn't appear to conform to this protocol, how would one be able to take advantage of this default implementation in their own NSObject subclasses?

Upvotes: 3

Views: 981

Answers (1)

jlehr
jlehr

Reputation: 15597

NSKeyValueCoding is an informal protocol, which means it's implemented as a category (in this case, on NSObject). The NSObject class provides the default implementation of the methods declared in the category.

Upvotes: 5

Related Questions