私はCoredataを使用して、次のtoMany関係でデータモデルを持っている:CoreDataメモリ管理の問題
Rooms.isUsedBy - >学生の多くの学生 - >クラスの多くのクラスは、ルーム
Class.hasStudentsを使用クラスに属しています
私は部屋を使用するすべての学生を取得したいと思います。 はここで単純化されたコードです:
-(void) studentsinRoom:(Room*)aRoom {
NSSet* roomStudents = [[NSSet alloc]init];
for (SchoolClass* aClass in aRoom.isUsedBy) {
roomStudents = [roomStudents setByAddingObjectsFromSet:aClass.hasStudents];
}
[roomStudents release];
}
roomStudentsが正しく計算されます。
しかし、メソッドを終了するときに "EXC_BAD_ACCESS"エラーが発生します。
私はiPhone Simulatorでこれをデバッグしています。
私はメモリ管理で何か正しくやっていないことを確信しています。 "malloc_error_break"にブレークが設定されていて、ヒットしていません。
- (void) studentsinRoom:(Room*)aRoom
{
NSSet* roomStudents = nil;
for (SchoolClass* aClass in aRoom.isUsedBy)
{
roomStudents = [roomStudents setByAddingObjectsFromSet:aClass.hasStudents];
}
}
setByAddingObjectsFromSet::のようなものに
roomStudentaはNSManagedObjectですか? – Daniel
Oコードブロックが紛らわしいのは、コードブロックの挿入機能を使用してみてください。 – Daniel