丢失实例变量值

时间:2013-10-29 07:05:05

标签: ios iphone objective-c

.h
   @interface sample : NSObject{
    @public
    NSData* data;
    int val;
  }

的.m

@implementation sample

-(id) init:(NSData*)data{
 if (self = [super init]) {
    [self initdata:data];
    }
    NSLog(@"@@@ self %@",self);
    NSLog(@"@@@ self->data %@",self->data);

   return self;
 }
-(void) initdata:(NSData*) data{
 @try{
  self->data = [[NSData alloc]initWithData:data];
     self->val = 10;
 }@catch (NSException* e) {

    }
  }
}

从initdata方法返回后如果我打印它的值为null。 当我从xcode到iphone安装应用程序时,一切正常,但是当我使用testflight或itunes安装时,所有实例变量都为空。

它看起来很简单,我尝试但无法解决。

编辑:

.m
-(id) init:(NSData*)data{
if (self = [super init]) {
    [self initDecodeOffline:data];
}
NSLog(@"@@@ VSF self %@",self);
NSLog(@"@@@ VSF self->SBI %@",self->SBI);

return self;
}
-(void) initDecodeOffline:(NSData*) data{
    @try{
  self->SBI = [[NSData alloc]initWithData:SBI];
        NSLog(@"@@@ VSF SBI-->%@",self->SBI);
    }@catch (NSException* e) {
    self->inErrorState = true;
   }
}
.h
@interface BarCodeProduct : NSObject{
  @public
 int selectedQuantity;
 long rmsCartIndex;
     int referenceId;
     NSData* SBI;
     int maxAllowed;
}
-(id) init:(NSData*)data;
@end

0 个答案:

没有答案