Използвам [fetchRequest setPredicate:[NSPredicate predicateWithValue: YES]]; да отстранявам грешките на моя код, за да премине универсален истински предикат. Когато exicuting lldb команда PO [NSPredicate predicateWithValue: YES], тя печат TRUEPREDICATE.
Типът връщане за predicateWithValue: е NSPredicate.
Когато го промених на [fetchRequest setPredicate: TRUEPREDICATE]; Xcode се оплаква от синтактична грешка „използване на недеклариран идентификатор“
Въпросът ми е дали трябва да импортирам някакъв заглавен файл за премахване на грешка? Ако не, тогава как TRUEPREDICATE се различават от [NSPredicate predicateWithValue: YES].
Отговори:
6 за отговор № 1С универсален истински предикат може да се създаде
[NSPredicate predicateWithValue:YES];
или
[NSPredicate predicateWithFormat:@"TRUEPREDICATE"];
И двете декларации връщат един и същ предикат.
po
отпечатва описанието на обект. Описанието на NSPredicate
е подобен на формата.
2 за отговор № 2
в Swift 3 бихте направили както по-долу
NSPredicate(value: true)
или
NSPredicate(format: "TRUEPREDICATE")