Tôi có mối quan hệ 1-nhiều trong biểu đồ Dữ liệu cốt lõi và tôi đang cố gắng hiểu sự khác biệt giữa việc sử dụng phương thức CoreDataGeneratedAccessors và một nhiệm vụ đơn giản để thay đổi mối quan hệ. Ví dụ: Core Data Programming Guide có một bộ phận và ví dụ về nhân viên. Trong ví dụ mà họ sử dụng các CoreDataGeneratedAccessors thuê và nhân viên cứu hỏa:Core-Data CoreDataGeneratedTrình xử lý so với phép gán đơn giản
[aDepartment addEmployeesObject:newEmployee];
[aDepartment removeEmployeesObject:firedEmployee];
Họ không xác định một mối quan hệ nghịch đảo, nhưng nói "bộ phận" là mối quan hệ nghịch đảo để "người lao động". Sau đó có nên thực hiện điều tương tự không?
newEmployee.department = aDepartment
firedEmployee.department = nil;
Theo phần Manipulating Relationships and Object Graph Integrity của Programming Guide Core Data, các ví dụ sau sẽ tự động sửa chữa tất cả các mối quan hệ để duy trì biểu đồ nhất quán. Nếu trường hợp đó xảy ra, có lý do nào để sử dụng CoreDataGeneratedAccessors khi một mối quan hệ nghịch đảo tồn tại không? Việc sử dụng CoreDataGeneratedAccessors có duy trì tính nhất quán của đồ thị trên các mối quan hệ nghịch đảo không?
Martin- cảm ơn câu trả lời. Tôi có tình huống mà tôi có thể sử dụng [aDepartment addEmployeesObject: newEmployee] một lần, nhưng các cuộc gọi tiếp theo trong ứng dụng (bất kể nếu nó trên một newEmployee) không cập nhật. Tuy nhiên, thay thế nó bằng newEmployee.department = aDepartment luôn hoạt động. Các hành vi của hai cuộc gọi dường như không phù hợp, vì vậy tôi bối rối họ có nghĩa vụ phải làm điều tương tự. Ý tưởng? – chris
@chris - có vẻ như bạn không có mối quan hệ nghịch đảo giữa thực thể Sở và thực thể Nhân viên. – TechZen
Tôi chỉ trải qua hành vi như vậy trong một số tình huống đặc biệt khi quan sát được kích hoạt trong một số xử lý thay đổi dữ liệu cốt lõi và mã quan sát sửa đổi quan hệ.(đây là lỗi của mã của tôi) –