Re: NEWBIE: Why use protocols?
Re: NEWBIE: Why use protocols?
- Subject: Re: NEWBIE: Why use protocols?
- From: Ondra Cada <email@hidden>
- Date: Wed, 18 May 2005 21:59:49 +0200
Bob,
On 18.5.2005, at 21:50, Bob Ippolito wrote:
It is never *needed* to use protocols in the same way as you
could define every pointer in C as a void*, it's merely another
convenience of the language that assists you the programmer in
getting your job right. If an object is supposed to subscribe to
a protocol, then the type checker can check that you haven't
bungled your code for you :)
Ammm... there's a bit more than this. Namely, a formal protocol
(unlike an informal one!) is a runtime object, which (among other)
can be enquired for signatures of its messages.
Agreeably that is in fact needed *quite* seldom, but sometimes it
just might (like with the DO I've mentioned before).
You can ask ANY object that conforms to NSObject what the
signatures of its messages are!
+[NSObject instanceMethodSignatureForSelector:]
-[NSObject methodSignatureForSelector:]
Does not help if the object happens to be at the other side of DO and
the network round-trip is costly. That's what protocols are used for
in DO, to remove the need for costly round-trips.
Does not help either if there's no class (and thus also no instance)
implementing an appropriate method -- that's the case of my dynamic
frameworks. They implement methods through -formwardInvocation:, but
first they need to provide an appropriate method signature, and
that's the problem.
---
Ondra Čada
OCSoftware: email@hidden http://www.ocs.cz
private email@hidden http://www.ocs.cz/oc
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden