2013-08-01 23 views
5

Tôi có biểu mẫu quan hệ một-nhiều đối với Phản hồi cho Câu hỏi trong Phản hồi. Quy tắc xóa được đặt thành Nullify trong Câu hỏi và để Cascade trong Phản hồi (để khi Phản hồi bị xóa, nó xóa tất cả các câu hỏi của nó và khi câu hỏi bị xóa thì con trỏ được đặt thành null trong feedback.questions).Bản ghi Magical xóa sự cố đối tượng

Vấn đề là khi tôi xóa câu hỏi (chỉ một câu hỏi từ nhiều câu hỏi tồn tại trong phản hồi) thì tôi không thể truy cập phản hồi! Mặc dù sự xâm nhập thực tế được thực sự tồn tại trong DB (kiểm tra nó với MesaSQLite) Mã này trông giống như:

FeedbackQuestion * questionToDelete = [FeedbackQuestion findByQuestionId:[entryID integerValue]]; 
DLog(@"Deleting FeedbackQuestion with ID: %@", questionToDelete.questionID); 
success = [questionToDelete MR_deleteEntity]; 
//success is 1 here 
*** 
// Accessing the feedback which question was deleted 
Feedback * feedback = [Feedback findByFeedbackId:feedbackId]; 

thông tin phản hồi là null đây. TẠI SAO? Tôi đang làm gì sai?

+0

Bạn đã lưu xóa sau này chưa? –

+0

bạn có thể đăng ảnh chụp màn hình của cấu hình dữ liệu cốt lõi của mình từ xcode không? cụ thể là các thuộc tính của các mối quan hệ. – Jon

+0

Khi xóa, nó được mã hóa cứng trong tôi để luôn trả về có. – casademora

Trả lời

12

Hm, hãy thử có lẽ dòng sau sau khi bạn "// thành công là 1 here" comment dòng:

[[NSManagedObjectContext defaultContext] saveToPersistentStoreAndWait]; 

hoặc, nếu bạn không có "viết tắt chế độ" được kích hoạt:

[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait]; 
+0

Hey, điều này đã làm các trick! phương pháp thứ hai của bạn đã giúp tôi truy cập phản hồi! Bạn có thể vui lòng giải thích cho tôi điều-tôi nên lưu một bối cảnh mỗi khi tôi xóa một số thực thể? Tôi nghĩ rằng phương pháp 'MR_deleteEntity' đã làm tất cả các công cụ trong nội bộ – Stas

+0

Ah, hãy tin tôi ... tôi không có một lời giải thích propper cho điều đó! :) Tôi đã ở trong một tình huống tương tự và chỉ cần thử nghiệm với wat MR đã cung cấp. Sau khi nhìn vào các giao diện của MR tôi stumbled khi một số những "saveTo ..." phương pháp và bắt đầu sử dụng chúng để tiếp tục thay đổi của tôi. Tôi nghĩ rằng đây hoàn toàn là một điều dữ liệu cốt lõi và bạn phải hiểu cách dữ liệu cốt lõi hoạt động để biết liệu bạn có cần phải duy trì một điều gì đó rõ ràng hay không. MR là một khuôn khổ thực sự tốt đẹp nhưng nó không làm giảm bạn khỏi dữ liệu cốt lõi chưa được phát triển - và tôi vẫn gặp khó khăn trong việc phát triển dữ liệu cốt lõi ở một số khu vực! –

+0

Ok, cảm ơn, câu trả lời của bạn được chấp nhận) – Stas

Các vấn đề liên quan