Ít khó khăn để giải thích nhưng tôi đang cố gắng sử dụng NSPredicate để lọc một mảng với NSManagedObject tùy chỉnh theo id. Tôi có một máy chủ có thể gửi cập nhật, xóa hoặc thêm các đối tượng mới, và tôi cần phải kiểm soát nếu các đối tượng đó từ tệp JSON đã tồn tại, nếu tồn tại chỉ cần cập nhật chúng hoặc chèn vào dữ liệu cốt lõi nếu không.NSPredicate kiểm tra NSArray nếu đối tượng có một số ID
Tôi đang sử dụng vị này ngay bây giờ:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"storeId != %@", [jsonFile valueForKey:@"Id"];
đâu jsonFile chứa các đối tượng cửa hàng chưa phân tích. Nhưng với vị từ này, nó sẽ cho tôi một mảng lớn, vì một id sẽ không giống như một số storeId, và id tiếp theo sẽ khớp.
tệp JSON là một số loại này:
"Stores":[{
"id":1,
"name":"Spar",
"city":"London"
}
{
"id":2,
"name":"WalMart",
"city":"Chicago"
}];
Đó chính xác là những gì tôi cần! Cảm ơn bạn! Và nếu tôi cần kiểm tra theo cách khác, tôi chỉ thay đổi nó thành 'NSPredicate * predicate = [NSPredicate predicateWithFormat: @" NOT (Id IN% @) ", fetchedArray];' – lagos
Giải pháp thực sự thanh lịch, cảm ơn bạn! – Markus