Как получить объект из основных данных по индексированному атрибуту?

У меня есть один объект, называемый пользователем, в основных данных. Этот объект имеет 3 атрибута (имя пользователя, токен, дата)

В объекте атрибут "имя пользователя" проиндексирован.

Я знаю, как получить массив элементов с помощью Fetch, но я хотел бы, чтобы получить объект напрямую (мне не нужен массив с одним объектом) с поиском по индексированному атрибуту.

Спасибо!!!


person JUANM4    schedule 27.08.2014    source источник


Ответы (1)


Вы можете сделать так

NSFetchRequest *request = [[NSFetchRequest alloc] init];

    NSEntityDescription *entity =

    [NSEntityDescription entityForName:@"user"

                inManagedObjectContext:managedObjectContext];

    [request setEntity:entity];



    NSPredicate *predicate =

    [NSPredicate predicateWithFormat:@"username == %@", targetUsername];

    [request setPredicate:predicate];



    NSError *error;

    NSArray *array = [managedObjectContext executeFetchRequest:request error:&error];

    if (array != nil) {
        NSLog("%@", [array firstObject]);

    }

    else {

        // Deal with error.

    }
person Rajesh    schedule 27.08.2014
comment
Спасибо. Я предполагаю, что нет никакого способа получить объект напрямую. - person JUANM4; 27.08.2014