2010-03-26 31 views
9

Tôi có 2 thực thể, Nhiệm vụ và Danh sách. Mỗi tác vụ có mối quan hệ một với một đối tượng Danh sách được gọi là "danh sách" và có mối quan hệ nghịch đảo với Danh sách, có mối quan hệ nhiều với Tác vụ được gọi là "nhiệm vụ".Dữ liệu cốt lõi - NSPredicate để lọc mối quan hệ nhiều-nhiều

Tôi đang cố gắng sử dụng một yêu cầu lấy với một NSPredicate để có được tất cả các đối tượng công tác thuộc về một danh sách cụ thể:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"list=%@", theList]; 
[fetchRequest setPredicate:predicate]; 

(nơi "theParent" là một tham chiếu đến một đối tượng trong danh sách). Tuy nhiên, điều này trả về không có đối tượng đã tìm nạp. Nếu tôi lấy ra vị từ, thì các đối tượng được trả về (vì vậy tôi biết chúng tồn tại, và bởi NSLogging theList Tôi biết nó có các đối tượng Task được liên kết với nó).

Cảm ơn

Trả lời

11

Có thể là lỗi đánh máy đơn giản trong vị từ của bạn không?

Bạn có "list =% @" khi tôi giả định những gì bạn thực sự muốn là "danh sách ==% @"

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"list == %@", theList]; 
[fetchRequest setPredicate:predicate]; 
+3

"=" làm việc cho bất động sản nhưng không phải là mối quan hệ. – zsong

+4

kharrison và/hoặc @sza: Bạn có thể làm rõ ý bạn là gì không? [Tài liệu NSPredicate] (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html#//apple_ref/doc/uid/TP40001795-215832) tuyên bố rằng '= 'và' == 'tương đương 100% khi được sử dụng trong chuỗi định dạng vị ngữ. Có sự khác biệt không có giấy tờ không? – Quuxplusone

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