> On Aug 3, 2014, at 1:12 PM, Daryle Walker <[email protected]> wrote:
> 
> I thought the compiler will ignore that fact with a warning instead of an 
> error.  

It used to be a warning (which I always thought was letting people off too 
lightly) but I believe with ARC it’s become an error.

> Is this something reserved only when using “id” as the static-time pointer 
> type?  

Yes, ‘id’ is like ‘void*’ in C — it can be assigned to or from any other object 
reference type without needing a cast. (In the very first version of 
Objective-C, ‘id’ was the only object reference type, and there was no 
compile-time type checking of messages at all. Obj-C was strongly inspired by 
Smalltalk-80, which is dynamically typed. NeXT added the static typing somewhat 
later on, maybe around 1990 or so.)

It’s the same operation either way. In my opinion it’s _less_ hacky now that it 
requires an explicit cast, because it makes it clearer that your’e 
down-casting* and what you expect the receiver’s type to be.

—Jens

* https://en.wikipedia.org/wiki/Downcasting
_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to