.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 方法返回后,如果我打印值,它为空。 当我将应用程序从 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