开发者

Coredata for getting all the values of a field

I have an entity ("Settings") and I want to get all the values in jus开发者_开发技巧t one field ("Status").I am using coredata. Can anyone help me, please?


Declare this in .h file: NSMutableArray *eventArray;

and in .m file

- (void)fetchRecords {   
    // Setup the fetch request  
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

    // Define our table/entity to use  
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Settings" inManagedObjectContext:managedObjectContext]; 

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Status" ascending:YES];

    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];

    [fetchRequest setSortDescriptors:sortDescriptors];

    [fetchRequest setEntity:entity];

    [fetchRequest setEntity:entity]; 

    NSError *error; 

    // Get array of results.

    NSMutableArray *theResults = [[managedObjectContext executeFetchRequest:fetchRequest error:&error] mutableCopy];

    if (!theResults) {  
        // Handle the error.  
        // This is a serious error and should advise the user to restart the application  
    } 

    // Grab unique neighborhoods through NSSet.

    NSSet *uniqueElements = [NSSet setWithArray:[theResults valueForKey:@"Status"]];
    // Dump NSSet uniques into new array.

    NSMutableArray *sortedResults = [[NSMutableArray alloc] initWithArray:[uniqueElements allObjects]]; 

    for(int i = 0; i < [sortedResults count];i++)
    {
        NSLog(@"%d. %@", i+1, [sortedResults objectAtIndex:i]); 
    }

    // Save our fetched data to an array

    [self setEventArray: sortedResults];
}


At first, u can get Array of values:

NSFetchRequest *requestSettings = [[NSFetchRequest alloc] init];
[requestCodesList setEntity:[NSEntityDescription entityForName:@"Setting" inManagedObjectContext:managedObjectContext]];
NSArray *setting = [managedObjectContext executeFetchRequest:requestCodesList error:&error];
if (error) NSLog(@"Failed to executeFetchRequest to data store: %@", [error localizedDescription]); 

Next, u transfer u array in NSString:

ComponentsJoinedByString: Constructs and returns an NSString object that is the result of interposing a given separator between the elements of the array.

  • (NSString *)componentsJoinedByString:(NSString *)separator code is:
NSString *settingChanged = [setting componentsJoinedByString:@","];

And after u can using this anywhere in u UI (binding, setStringValue e.t.c)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜