xcode类保持为零

xcode类保持为零,xcode,class,initialization,Xcode,Class,Initialization,我已经创建了下面的类,但是当我尝试将该类导入到另一个文件、创建实例并获取或设置任何属性时,它都不起作用。我通过调试发现,当我创建类的实例时,它保持为nill 当我看到这一点时,我创建了一个如下所示的init方法来为属性分配内存: -(id)init{ self = [super init]; if(self){ numberName = [[NSString alloc] init]; numberNode = [[CCNode alloc] in

我已经创建了下面的类,但是当我尝试将该类导入到另一个文件、创建实例并获取或设置任何属性时,它都不起作用。我通过调试发现,当我创建类的实例时,它保持为nill

当我看到这一点时,我创建了一个如下所示的init方法来为属性分配内存:

-(id)init{
    self = [super init];
    if(self){
        numberName = [[NSString alloc] init];
        numberNode = [[CCNode alloc] init];
    }

    return self
}
它仍然不起作用,并且在调试时类的实例保持为nill。 (我还尝试创建自己的getter和setter,但我认为这不是问题的一部分,因为它一开始还没有初始化。)

.h文件:

#import <Foundation/Foundation.h>

@interface Number : NSObject

@property (nonatomic, assign) NSInteger numberId;
@property (nonatomic, strong) NSString *numberName;
@property (nonatomic, strong) CCNode *numberNode;

@end

您无法返回初始化的对象

-(id)init{
    self = [super init];
    if(self){
        numberName = [[NSString alloc] init];
        numberNode = [[CCNode alloc] init];
    }

    return self; // <---- This is what you're missing.
}
-(id)init{
self=[super init];
如果(自我){
numberName=[[NSString alloc]init];
numberNode=[[CCNode alloc]init];
}

return self;//对不起,忘了键入它。我已返回self,否则会生成错误!好的。更正您的问题,然后人群可以从那里开始。我们只能使用您提供的内容。以上所有内容看起来都很好;在初始化例程中,我必须在ivar前面加下划线(“”)(仅供参考:您不再需要@synthesis)…您是如何创建实例的?
-(id)init{
    self = [super init];
    if(self){
        numberName = [[NSString alloc] init];
        numberNode = [[CCNode alloc] init];
    }

    return self; // <---- This is what you're missing.
}