• 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: Creating Interface
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Creating Interface


  • Subject: Re: Creating Interface
  • From: Chris Hanson <email@hidden>
  • Date: Thu, 28 Aug 2008 12:30:17 -0700

On Aug 28, 2008, at 7:32 AM, Roland King wrote:

I don't quite understand why protocols like NSKeyValueObserving aren't formalized and in a .h file somewhere so you could just use them in the same way you can the NSObject protocol. They're documented, why not just write the .h file. There's probably a very good reason for it which has totally escaped me.

Conforming to a protocol is an all-or-nothing affair - you have to implement *all* of the protocol's methods. The informal protocols I'm aware of tend to have one or more optional methods.



You can have @optional Protocol methods (is that new, that may be new, I'm really not sure).

It's new in Objective-C 2.0 in Leopard.

Prior to that, protocols were always all-or-nothing, just as interfaces are in Java and C#. (Java actually acknowledges deriving its concept of interfaces from Objective-C protocols; C# is a Java derivative.) That's why they weren't used for things like delegates and data sources where only a subset of methods need to be implemented to be functional.

  -- Chris

_______________________________________________

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: 
 >Creating Interface (From: "Christian Giordano" <email@hidden>)
 >Re: Creating Interface (From: Matthias Schonder <email@hidden>)
 >Re: Creating Interface (From: "Christian Giordano" <email@hidden>)
 >Re: Creating Interface (From: Jean-Daniel Dupas <email@hidden>)
 >Re: Creating Interface (From: Phil <email@hidden>)
 >Re: Creating Interface (From: Roland King <email@hidden>)
 >Re: Creating Interface (From: "Sherm Pendley" <email@hidden>)
 >Re: Creating Interface (From: Roland King <email@hidden>)

  • Prev by Date: Re: Quitting all active applications
  • Next by Date: Re: NSXMLNode and NSXMLElement issue
  • Previous by thread: Re: Creating Interface
  • Next by thread: Quitting all active applications
  • Index(es):
    • Date
    • Thread