私がしていることは
//ClassB.h
@property (強力、非アトミック) NSString *name;
と
//ClassA.h
@interface ClassA : NSObject
+(ClassA*)methodA:(NSData*)データ;
-(id)initWithData:(NSData*)データ;
@property (nonatomic, strong) NSMutableArray *arr;
@property (nonatomic, strong) RXMLElement *rxmlRoot;
@終わり
//ClassA.m
@実装 ClassA
@synthesize arr;
@synthesize rxmlRoot;
+(ClassA*)methodA:(NSData*)データ{
return [[ClassA alloc] initWithData:data];
}
-(id)initWithData:(NSData*)データ{
自己 = [スーパー初期化];
もし (自己) {
arr = [NSMutableArray 配列];
rxmlRoot = [RXMLElement elementFromXMLData:データ];
/*****編集: コードを明確にするために追加されました*****/
NSString *node = @"players.player";
[rxmlRoot iterate:node with:^(RXMLElement *e){
ClassB *classB = [[[ClassB alloc] init] autorelease];
[classB setName: [e属性:@"名前"]];
// ClassB を arr に追加する
[arr addObject:classB];
}];
}
自分自身を返します。
}
@終わり
だから今私はarrがClassBを含むClassAオブジェクトを持っています
質問: 後で、ClassB の特定のプロパティにアクセスしようとすると、
((ClassB*)[classA.arr objectAtIndex:0]).name
そして、上記の行でEXC_BAD_ACCESSを取得しています..
この問題とエラーの修正方法についてアドバイスをください。コメントはこちらで受け付けます
ありがとう