私がしていることは
//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を取得しています..
この問題とエラーの修正方法についてアドバイスをください。コメントはこちらで受け付けます
ありがとう