我无法从另一个类访问 int 属性。我知道这个问题已经被问过很多次了,但是之前的问题中发布的解决方案似乎都不起作用。我在 xcode 方面的知识是基本的,我正在使用这个项目来发展我的技能。
我有两个类:HelloWorldLayer 和 ClassOne。ClassOne 声明 int 的值。两者都是 Cocos2d CCLayer 类(可能不是实践类间值访问的最佳类)。
ClassOne.h
@interface ClassOne : CCLayer {
int ageClass;
}
@property (nonatomic, readwrite)int ageClass;
@end
ClassOne.m
@implementation ClassOne
@synthesize ageClass = _ageClass;
-(id)init{
if((self=[super init])){
_ageClass = 10;
}
return self;
}
@end
HelloWorldLayer.h
#import "ClassOne.h"
@interface HelloWorldLayer : CCLayer <...> {
ClassOne *agePointer;
}
@property (nonatomic,assign)ClassOne *agePointer;
+(CCScene*)scene;
@end
HelloWorldLayer.m
#import "HelloWorldLayer.h"
#import "AppDelegate.h"
#import "ClassOne.h"
@implementation HelloWorldLayer
@synthesize agePointer = _agePointer;
+(CCScene*)scene...
-(id)init{
if((self=[super init])){
_agePointer.ageClass = self;
NSLog(@"ClassOne int = %@",_agePointer);
}
return self;
}
...
@end
输出结果:
"ClassOne int = (null)"
or "0" if i use "%d" token and "int = x", where the line "int x =_agePointer.ageClass;"
is used.
我追求的结果是 HelloWorldLayer NSLog 显示“10”,即 ClassOne 中定义的 int 值。
非常感谢任何对我使用语言的智慧和更正。