我无法从另一个类访问int属性。我知道这个问题已经被问了好几次了,但是在之前的问题中没有任何解决方案似乎可行。我在xcode方面的知识是基本的,我正在使用这个项目来发展我的技能。从另一个类访问int值
我有两个类: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值。
我非常感谢我对语言使用的任何智慧和修正。
请问这个线的装置“_agePointer.ageClass = self;” ageClass是一个整数,您尝试在其中分配一个对象。我认为它会工作如下: - (id)init if((self = [super init])){{}} {{ClassOne alloc] init]; NSLog(@“ClassOne int =%d”,_ agePointer.ageClass); } return self; } –
我正在使用这个问题作为指导[链接](http://stackoverflow.com/questions/9371125/accessing-a-value-of-a-classs-variable-from-another-objective-c)。我的印象是,该行将“ageClass”的值赋给“_agePointer”。 –
解决了它。谢谢Prateek,如果你把它作为答案发布,我会接受它。 –