Re: Objective-C and it's future
Re: Objective-C and it's future
- Subject: Re: Objective-C and it's future
- From: Rob Ross <email@hidden>
- Date: Fri, 7 Jul 2006 18:18:44 -0700
On Jul 7, 2006, at 6:07 PM, Shawn Erickson wrote:
On 7/7/06, Damien Sorresso <email@hidden> wrote:
On 7 Jul, 2006, at 7:29 PM, Rob Ross wrote:
> I'm just learning Obj-C myself, so maybe my understanding is not
> correct. But, don't you actually have the option to use static
> typing in certain instances, and use dynamic typing in others?
>
> Eg:
>
> id myStr;
>
> vs
>
> NSString *myStr;
>
>
> Won't the second version give you the benefits of static typing
> (compiler time checking)?
>
Well, kinda sorta. The compiler will check, but the messages are
still bound at runtime. For example, this statement won't even
generate a warning.
NSString *str = [[NSData alloc] init];
because both `NSData' and `NSString' have `init' methods, and `init'
methods return an object of type `id', which is NOT statically typed.
...but the point is you could implement classes that are specific
about what they return (I often do that with my init methods) and the
compiler would flag this for you.
Are you saying you can write an init method with a signature like this:
- (FooClass *)init;
I thought that if you overrode a method from a superclass, the
signatures must match (including the return type).
Or am I wrong about that?
Rob
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden