У меня есть NSManagedObject, который содержит bID и pID. В пределах набора NSManagedObjects я хочу только возвращенное подмножество, и я изо всех сил пытаюсь найти правильный NSPredicate или способ получить то, что мне нужно из Core Data.
Вот мой полный список:
ставка pid
41 0
42 41
43 0
44 0
47 41
48 0
49 0
50 43
Выше указаны отношения родитель-ребенок.
Правила:
Если PID записи = 0, это означает, что эта запись является родительской записью.
Если PID записи = 0, то PID записи ссылается на BID родительской записи.
Пример: * * один тысяча двадцать-одна
1) BID = 41 - родительская запись. Зачем? Поскольку записи BID = 42 и BID = 47 имеют PID, равный 41, что означает, что они являются дочерними для его записи PID.
2) BID = 42 имеет родительскую запись с BID = 41.
3) BID = 43 является родительской записью.
4) BID = 44 является родительской записью.
5) BID = 47 имеет родительскую запись с BID = 41, потому что его PID = 41. См. № 1 выше.
6) BID = 48 - родительская запись.
7) BID = 49 - родительская запись.
8) BID = 50 является дочерней записью, а ее родительская запись имеет BID = 43.
Видите образец?
Теперь, в основном, я хочу получить только следующие строки:
ставка pid
44 0
47 41
48 0
49 0
50 43
BID = 41, BID = 48, BID = 49 должны быть возвращены, так как нет записей с PID, равным их BID.
BID = 47 должен быть возвращен, потому что это самый последний дочерний элемент PID = 41.
BID = 50 должен быть возвращен, потому что это самый последний дочерний элемент PID = 43.
Надеюсь, это поможет объяснить это подробнее.