를 사용하여 CKReferenceList에서 CKReference을 제거하는 데 실패, 뭔가 그런 다음 나는 직원 레코드를 가리키는 또 다른 CKReference이이내가 직원의 목록에 대한 CKReferenceList이 CKRecord removeObject
(
"<CKReference: 0xa5bc930; 83a97165-2635-4bda-a7eb-fabf5a725bed:(_defaultZone:__defaultOwner__)>",
"<CKReference: 0xa50a2e0; 9B7F4269-D8BA-4CE9-9BCF-AD2047B73EB5:(_defaultZone:__defaultOwner__)>"
)
처럼 보일 수 있습니다. 이 특정 직원의 참조가 직원 목록에 있음이
"<CKReference: 0xa5bc330; 83a97165-2635-4bda-a7eb-fabf5a725bed:(_defaultZone:__defaultOwner__)>"
공지 사항처럼 보일 수있는, 그들은 동일한 참조 이름, 즉 "83a97165-2635-4bda-a7eb-fabf5a725bed"가.
기준 이름이 동일하더라도 I리스트에서 참조 삭제되지
NSMutableArray<CKReference*>* employeeList = [[NSMutableArray alloc]initWithArray:self.employeeList];
if(employeeList != nil){
[employeeList removeObject:employeeReference];
}
이 아래의 코드를 사용하여 제거하려 할 때 (동일 contain
방법에 일어난다).
removeObject
은 isEqual: method
을 기준으로 사용하므로 두 개의 CKReference를 비교할 때 실제로 주소를 비교하지만 문자열 이름을 기반으로하지는 않습니다.
CKReference 목록에서 주어진 CKReference를 제거하기 위해 isEqual
구현을 그냥 덮어 써야합니까?
아니면 다른 대안이 있습니까?