如何通过索引属性从核心数据中获取对象?

时间:2014-08-27 09:13:57

标签: ios core-data attributes fetch indexed

我在核心数据中有一个名为user的实体。该实体有3个属性(用户名,令牌,日期)

在实体中,属性“username”已检查索引。

我知道如何使用Fetch获取元素数组,但我想如何直接获取对象(我不希望有一个对象的数组)通过索引属性进行搜索。

感谢!!!

1 个答案:

答案 0 :(得分:2)

你可以这样做

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.

    }