[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PATCH: Find more ObjC methods
From: |
Ziemowit Laski |
Subject: |
Re: PATCH: Find more ObjC methods |
Date: |
Fri, 3 Oct 2003 12:14:55 -0700 |
On Friday, Oct 3, 2003, at 12:00 US/Pacific, Devang Patel wrote:
On Oct 3, 2003, at 2:57 AM, David Ayers wrote:
[self somePrivatMethod]; /* <- should not see the prototype and
warn! */
Does this mean that using private methods, that are not included
in @interface, is not a good idea? I think, compiler should figure
out that it is part @implementation and not warn about it.
Well, Objective-C plays it fast and loose here (as in many other
places). :-) On the one hand,
you're definitely encouraged to provide an @interface for your class in
a header that other
translation units can pull in. But on the other, you do not _need_ to
provide an @interface at
all! It may not be very polite, but if the @implementation contains
the required ivars,
the compiler knows what to do.
Furthermore, methods in Objective-C are not 'private' (or 'protected')
in the C++ sense;
all methods _are_ visible to the runtime. So, in the example above,
the program definitely
_will_ call 'somePrivateMethod'. Also, since we happened to see the
@implementation in this
case, we can actually determine which 'somePrivateMethod' this will be.
--Zem
--------------------------------------------------------------
Ziemowit Laski 1 Infinite Loop, MS 301-2K
Mac OS X Compiler Group Cupertino, CA USA 95014-2083
Apple Computer, Inc. +1.408.974.6229 Fax .5477
- Re: PATCH: Find more ObjC methods, (continued)
- Re: PATCH: Find more ObjC methods, Alexander Malmberg, 2003/10/07
- Re: PATCH: Find more ObjC methods, Devang Patel, 2003/10/07
- Re: PATCH: Find more ObjC methods, Ziemowit Laski, 2003/10/07
- Re: PATCH: Find more ObjC methods, David Ayers, 2003/10/07
- Re: PATCH: Find more ObjC methods, Alexander Malmberg, 2003/10/08
- Re: PATCH: Find more ObjC methods, Alexander Malmberg, 2003/10/07
- Re: PATCH: Find more ObjC methods, Ziemowit Laski, 2003/10/07
- Re: PATCH: Find more ObjC methods, Ziemowit Laski, 2003/10/07
- Re: PATCH: Find more ObjC methods, Alexander Malmberg, 2003/10/07
- Re: PATCH: Find more ObjC methods, Devang Patel, 2003/10/03
- Re: PATCH: Find more ObjC methods,
Ziemowit Laski <=
- Re: PATCH: Find more ObjC methods, Devang Patel, 2003/10/03
- Re: PATCH: Find more ObjC methods, Ziemowit Laski, 2003/10/03
- Re: PATCH: Find more ObjC methods, Ziemowit Laski, 2003/10/03
PATCH: Find more ObjC methods, Vaisburd, Haim, 2003/10/03