More elegant indeed :). I thought delegates had to be of type id.

Kind regards,

Remco Poelstra

Op 16 nov 2010, om 11:57 heeft Roland King het volgende geschreven:

> Or use 
> 
> NSObject*< protocol > 
> 
> Instead of id. Assuming that all the objects are NSObjects. 
> 
> 
> 
> On Nov 16, 2010, at 18:43, Gideon King <gid...@novamind.com> wrote:
> 
>> 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/rols%40rols.org
>> 
>> This email sent to r...@rols.org

_______________________________________________

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