That works indeed. I hoped there was a more elegant solution.
Kind regards,
Remco Poelstra
Op 16 nov 2010, om 11:43 heeft Gideon King het volgende geschreven:
> 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 ([email protected])
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 [email protected]