Я искал ответ здесь, но ни один из них не решил мою проблему ...
Я сохранил некоторые данные в основных данных, в Truck Managed Object Subclass
. Вот код:
Как проверить, существует ли объект в данных ядра
for (NSDictionary *dictTruck in self.trucksArray) {
Truck *truck = [NSEntityDescription insertNewObjectForEntityForName:@"Truck" inManagedObjectContext:_managedObjectContext];
Country *country = [NSEntityDescription insertNewObjectForEntityForName:@"Country" inManagedObjectContext:_managedObjectContext];
NSFetchRequest *truckRequest = [[NSFetchRequest alloc]init];
NSEntityDescription *truckDescription = [NSEntityDescription entityForName:@"Truck" inManagedObjectContext:_managedObjectContext];
[truckRequest setEntity:truckDescription];
NSMutableArray *mutableReq = [[_managedObjectContext executeFetchRequest:truckRequest error:nil]mutableCopy];
self.trucksArray = [[NSMutableArray alloc]initWithArray:mutableReq];
[truck setModel:[dictTruck objectForKey:@"model"]];
[truck setYear:[dictTruck objectForKey:@"year"]];
[truck setCountry:country];
[country setCountryName:[dictTruck objectForKey:@"country"]];
[_managedObjectContext save:nil];
}
И это работает довольно хорошо. Теперь проблема заключается в том, что у меня есть JSON, что я скачивание с сервера через AFNetworking
в формате, как это:
{
"trucks": [
{
"model": "Scania",
"year": "2014",
"country": "Sweden"
},
{
"model": "DAF",
"year": "2012",
"country": "Ireland"
}
]
}
Это JSON обновляется каждый час, так что старые данные JSON + новый ... Теперь, мой вопрос, как я могу проверить, существует ли этот объект в Core Data, например: Truck.model = @ "Scania", Truck.year = @ "2014", Truck.Country.countryName = @ "Sweden"; И если он соответствует всем этим условиям, его не следует сохранять на CD ...
Заранее спасибо.
Обновление:
В этом коде часть запроса для объектов в основных данных, потому что я пробовал так много способов решить эту проблему.
Вам необходимо использовать NSFetchRequest вместе с NSPredicate для поиска определенной записи: http://stackoverflow.com/questions/10612955/fetch-request-fority-attribute-somevalue – user523234
Не могли бы вы быть более конкретными, потому что Я создал NSFetchRequest, но проблема в том, что я не знаю, как установить условие, чтобы проверить, выполнено ли оно. – Stefan
Вот для чего нужен NSPredicate. В ссылке, которую я опубликовал, если полученный результат отрицательный, то вы знаете ... Я не на компьютере stackoverflow.com Я не могу написать код. – user523234