GNUStep上的Objective-C:访问父类的ivars

时间:2012-08-26 17:18:28

标签: objective-c inheritance gnustep

我对Objective-C很新。我的大多数经验都是用Java编写的。我有一个基类:

@interface Bug : NSObject <BugProtocol> {

    @private
    World* world;
    NSString* name;
    NSString* layer;
    long x;
    long y;
    BOOL alive;

...
...


}

...
...

@end

以及扩展此基类的类:

@interface RandomBug : Bug
    ...
    ...
@end

但是,当我尝试访问我在父类中定义的属性时,编译器会抱怨它无法找到它们。我在访问属性中看到的大多数示例都是针对OS X定制的(即使用像@property这样的东西,据我所知,在GNUStep中并不完全支持。

1 个答案:

答案 0 :(得分:1)

我明白了。我只需要使用@protected(就像在Java中一样):

@interface Bug : NSObject <BugProtocol> {

    @protected
    World* world;
    NSString* name;
    NSString* layer;
    long x;
    long y;
    BOOL alive;

...
...


}

...
...

@end