• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: addObserver problem with protocols
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: addObserver problem with protocols


  • Subject: Re: addObserver problem with protocols
  • From: Greg Parker <email@hidden>
  • Date: Wed, 14 Jan 2009 14:42:17 -0800

On Jan 14, 2009, at 2:18 PM, Mohan Parthasarathy wrote:
I have protocol X that is implemented by a few classes of my own. These
classes are not known directly to my main code but only through the protocol
(id<protocol>). When my main code tries to addObserver:self to the object
id<protocol>, i get a warning saying that my protocol does not implement it.
This would have worked if i used the real object behind. What should i do ?
Just add a method like addObserver in the protocol and in the real object
make the method just invoke the [super addobserver]. Or is there a better
way to solve it ?

Some options:

1. Use `NSObject<MyProtocol>*` instead of `id<MyProtocol>`. Then any method from class NSObject is allowed along with the protocol's own methods. Since addObserver: is declared as a class on NSObject, this should pacify the compiler.

2. Add -addObserver: to the protocol.

3. Create another protocol that includes -addObserver:. Then either use `id<MyProtocol,MyObserverProtocol>`, or make MyProtocol itself adopt MyObserverProtocol.

#1 is probably the best, assuming all of your objects are in fact NSObjects.


-- Greg Parker email@hidden Runtime Wrangler


_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:
This email sent to email@hidden


References: 
 >addObserver problem with protocols (From: "Mohan Parthasarathy" <email@hidden>)

  • Prev by Date: Re: Debugging objc_msg errors
  • Next by Date: Re: Debugging objc_msg errors
  • Previous by thread: Re: addObserver problem with protocols
  • Next by thread: /tmp folder ok?
  • Index(es):
    • Date
    • Thread