我正在做的是
//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 ..
请就这个问题以及如何纠正错误给我建议。欢迎任何意见在这里
谢谢