Я так долго работал над этой проблемой, я пропустил весь футбольный сезон и не видел, чтобы мои любимые краснокожие снова проиграли почти все свои игры.Даже мой любимый Арсенал не справляется без моей поддержки, поэтому, пожалуйста, помогите:
Я перебираю ряд основных объектов данных.Я пытаюсь найти объекты, в которых основная и дочерняя сущности содержат поисковый запрос.Если они это сделают, я хочу добавить их в массив результатов.
Существуют сотни строк ненужного кода, которые теперь тратятся впустую и никогда не будут использоваться, потому что различные потоки, за которыми я следовал, и ложные выводы были взяты ..
Код на данный момент таков:
NSLog(@"%s", __FUNCTION__);
NSMutableArray *tempArray = [NSMutableArray array];
for (NSManagedObject *object in tableViewModel.items) {
//myPredicate = [NSPredicate predicateWithFormat:@"(people.name contains[cd] %@)", searchText];
//another one for the junk heap
NSLog(@"searchText: %@", searchText); //this is ok
NSLog(@"\n\nobject is: %@\n\n", object); //this is ok
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(people.name contains[cd] %@)", searchText];
BOOL ok = [predicate evaluateWithObject:object]; // this is not ok
if (ok) {
NSLog (@"result is TRUE");
[tempArray addObject:object];
NSLog(@"\n\ntempArray: %@\n\n", tempArray);
} else {
NSLog (@"result is FALSE");
}
}
NSLog(@"out of records");
autoSearchResults = tempArray;
NSLog(@"\n\nautoSearchResults: %@\n\n", autoSearchResults);
return autoSearchResults; // return my own search array
В результате я получаю следующее:
object is: <MainEntity: 0x79c51cb0> (entity: MainEntity; id: 0x79c50880 <x-coredata://99B12EAD-002C-402C-99CA-CF5A328E67E5/MainEntity/p2> ; data: {
audioName = 00010206120609;
audioNo = 0;
date = "2012-02-06 11:10:00 +0000";
Main = "Main-0001 12.02.06";
interpret = nil;
keyword = "<relationship fault: 0x79c708a0 'keyword'>";
order = 0;
people = "<relationship fault: 0x79c708c0 'people'>";
place = "<relationship fault: 0x79c710b0 'place'>";
recurring = 0;
summary = Test1;
symbol = "<relationship fault: 0x79c71110 'symbol'>";
type = "<relationship fault: 0x79c71170 'type'>";
})
2012-02-06 10:00:11.454 Appkeeper[42598:16c03] result is FALSE
Я не знаю, нужно ли мне использоватьпредикат, является ли предикат правильным.Я не думаю, что я проверяю условие правильно.
Так что любая помощь будет принята с благодарностью ..
РЕДАКТИРОВАТЬ - Добавление немного модели отношений ....