: 세트에있는 기존의 모든 항목을 대체코어 데이터 추가 [ttt] 대 집합 [ttt] - 다 대다 관계의 차이? 일대 다 관계로
@interface Department (CoreDataGeneratedAccessors)
- (void)addEmployeeObject:(Employee *)value;
- (void)removeEmployeeObject:(Employee *)value;
- (void)addEmployees:(NSSet *)value;
- (void)remove Employees:(NSSet *)value;
@end
겠습니까 'addEmployees'을하거나 기존 목록에 추가합니다 다음 xcdatamodel에서 생성 된 클래스는 것인가?
애플의 CoreData 프로그래밍 가이드에서는 "일대일 관계와 같은 방식으로 전체 일대 다 관계를 조작 할"수 있고 이 아닌 'setEmployees'를 사용하여이를 보여줍니다. 생성 된 클래스는 'addEmployees'입니다. 있다.
NSSet *newEmployees = [NSSet setWithObjects:employee1, employee2, nil];
[aDepartment setEmployees:newEmployees];
NSSet *newDirectReports = [NSSet setWithObjects:employee3, employee4, nil];
manager.directReports = newDirectReports;
// for adding single elements
NSMutableSet *employees = [aDepartment mutableSetValueForKey:@"employees"];
[employees addObject:newEmployee];
[employees removeObject:firedEmployee];
// or
[aDepartment addEmployeesObject:newEmployee];
[aDepartment removeEmployeesObject:firedEmployee];
설정 항목 비교를 통해 세트의 특정 객체의 값 또는 참조를 기준으로 연결이 끊어 졌는지 여부를 확인할 수 있습니까? –
'-isEqual :'메소드는'-hash' 메소드의 결과를 두 관리 객체 모두에서 비교한다고 생각합니다. '-hash'의 정의는'NSObject'를보십시오 : http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html#//apple_ref/occ/intfm/NSObject/hash –
내가 쓴 것은 실제로 대답이 아닌 것처럼 보입니다. MO에 서로 다른 참조가있는 경우 서로 다른 해시 결과가있을 수 있습니다. 그래도이 질문을 테스트하기는 쉽다. –