AFAIK, when something is referenced as a protocol like that, the *only* methods 
it knows about are the ones in the protocol. If you just cast the delegate to 
type id, you should be OK (I have encountered similar situations where this 
solution worked)

[(id)delegate valueForKeyPath:...

HTH

Gideon

On 16/11/2010, at 8:35 PM, Remco Poelstra wrote:

> Hi,
> 
> I've somewhat the same problem as a recent thread, but I can't fix it with 
> what was suggested in that thread.
> I've to following class:
> #import <Foundation/Foundation.h>
> #import "AudionetCommand.h"
> #import "AudionetQueueDelegateProtocol.h"
> @interface AudionetCommandQueue : NSObject {
>       id <AudionetQueueDelegate> delegate;
> }
> 
> @property (nonatomic, assign) id <AudionetQueueDelegate> delegate;
> - (void) enqueueCommand:(AudionetCommand *)command;
> @end
> @implementation AudionetCommandQueue
> @synthesize delegate;
> - (void) enqueueCommand:(AudionetCommand *)command {
>  //Lots of code
>  if ([[delegate valueForKeyPath:@"audionetDevices.address"] isEqual: []]) {};
> }
> @end
> 
> I get the warning that valueForKeyPath: is not found in the protocols. If I 
> change the instance variable to id <AudionetQueueDelegate,NSKeyValueCoding>, 
> I get the error that the NSKeyValueCoding protocol can not be found. If I 
> also #import <NSKeyValueCodingProtocol.h> than that header file is not found.
> How can I fix this?
> 
> Kind regards,
> 
> Remco Poelstra
> 
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to