Я работаю с приложением, использующим CoreData. У меня есть простая структура:
Имя
Фамилия
Мне нужно обновить запись, поэтому я делаю:
if (strLastname.lengt > 0) {
predicate = [NSPredicate predicateWithFormat:@"(dbName LIKE[c] %@ AND dbLastname LIKE[c] %@)", strName, strLastname];
else {
predicate = [NSPredicate predicateWithFormat:@"(dbName LIKE[c] %@)", strName];
}
Теперь проблема в том, что, когда моя БД содержит больше пользователей с тем же именем, и у одного из них нет фамилии, предикат всегда будет соответствовать первой записи, где имя похоже на strName, поэтому я должен проверить, что dbLastname похоже на '', но это не удается:
if (strLastname.lengt > 0) {
predicate = [NSPredicate predicateWithFormat:@"(dbName LIKE[c] %@ AND dbLastname LIKE[c] %@)", strName, strLastname];
else {
predicate = [NSPredicate predicateWithFormat:@"(dbName LIKE[c] %@ AND dbLastname LIKE[c] '')", strName];
}
предикат в порядке, но fetchedObject пуст.
Любая помощь приветствуется.
Макс