我正在做的是
//ClassB.h @property (strong, nonatomic) NSString *name;
和
//ClassA.h @interface ClassA:NSObject +(ClassA*)methodA:(NSData*)data; -(id)initWithData:(NSData*) 数据; @property (nonatomic, strong) NSMutableArray *arr; @property (nonatomic, strong) RXMLElement *rxmlRoot; @结尾 //ClassA.m @实现类A @synthesize arr; @synthesize rxmlRoot; +(ClassA*)methodA:(NSData*)data { 返回 [[ClassA alloc] initWithData:data]; } -(id)initWithData:(NSData*)data { self = [超级初始化]; 如果(自我){ arr = [NSMutableArray 数组]; rxmlRoot = [RXMLElement elementFromXMLData:data]; /*****edit : 刚刚添加以使代码清晰*****/ NSString *node = @"players.player"; [rxmlRoot 迭代:节点与:^(RXMLElement *e){ ClassB *classB = [[[ClassB alloc] init] autorelease]; [classB setName:[e属性:@“name”]]; // 将 ClassB 添加到 arr [arr addObject:classB]; }]; } 回归自我; } @结尾
所以现在我有ClassA对象,其arr包含ClassB
问题:稍后,当我尝试访问 ClassB 的特定属性时
((ClassB*)[classA.arr objectAtIndex:0]).name
我在上面的行得到EXC_BAD_ACCESS ..
请就这个问题以及如何纠正错误给我建议。欢迎任何意见在这里
谢谢