-(ID)initWithKeyPadType: (int)value{ [self setKeyPadType:value]; self = [self init]; if( self != nil ) { //self.intKeyPadType = value; } return self;}- (ID)init { NSNumberFormatter *formatter = [[[NSNumberFormatter alloc] init] autorelease]; decimalSymbol = [formatter decimalSeparator];....
警告来自实例变量上方的行,而’self’未设置为'[(super或self)init …]的结果
解决方法 你要做的是技术上没问题,但在某个阶段你需要调用[super init].如果你的类的init方法执行了许多其他initWith …方法使用的常见初始化,那么将你的[super init]放在那里.此外,在尝试使用实例变量之前,始终确保已初始化该类.- (ID) initWithKeyPadType: (int)value{ self = [self init]; // invoke common initialisation if( self != nil ) { [self setKeyPadType:value]; } return self;}- (ID) init{ self = [super init]; // invoke NSObject initialisation (or whoever superclass is) if (!self) return nil; NSNumberFormatter *formatter = [[[NSNumberFormatter alloc] init] autorelease]; decimalSymbol = [formatter decimalSeparator]; ...总结
以上是内存溢出为你收集整理的objective-c – Obj-,’self’时使用的实例变量未设置为'[(super或self)init …]的结果全部内容,希望文章能够帮你解决objective-c – Obj-,’self’时使用的实例变量未设置为'[(super或self)init …]的结果所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)