0
.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を使用してインストールするとすべてのインスタンス変数がnullになります。

それは簡単に見えます、私は試しましたが解決できませんでした。

編集:

.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
4

0 に答える 0