> On Sep 15, 2015, at 10:52 AM, Kyle Sluder <k...@ksluder.com> wrote:
> 
> Class<ProtocolX> really is a Class (instance of metaclass). 

That seems to be true, based on a bit of testing I just did. But I don’t think 
a type like that makes sense, since it says that the metaclass implements the 
protocol, which isn’t true; the metaclass would have to implement the 
“meta-protocol”, and I don’t know if such an entity exists explicitly in Obj-C. 
(I can’t rely on analogy to Smalltalk-80 because Smalltalk didn’t have 
protocols.)

For example, if a Class implemented NSCoding that would imply the metaclass had 
methods like encodeWithCoder:, which isn’t true.

> Check out UIAppearance.h; that's how containment-based appearance works.

Hm, I don’t see anything related to metaclasses there, just protocols with 
class methods.

(To be honest, thinking about metaclasses too much makes my head hurt. There’s 
a really weird diagram of the class hierarchy in the flyleaf of the classic 
Smalltalk-80 “blue book” that ends with a strange loop into Object.metaclass. 
My co-workers and I used to have religious arguments about that diagram when I 
worked at Xerox.)

Anyway, we’re well into objc-language territory here and should probably stop 
now that Dave got his compiler warning resolved :)

—Jens
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (Xcode-users@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com

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

Reply via email to