2016-07-19 11 views
0

Ich habe eine Reihe von Kerndaten mit Entität namens PeronalInfo mit Attributen Name, Alter, Geschlecht und Nationalität.IOS - Ziel C, Wie Core-Daten gelesen und in einem veränderbaren Array gespeichert werden

z.

John, 25, männlich, Englisch

Sean, 65, Männlich, Indian

Jess, 46, weiblich, amerikanische

ich diese Kerndaten als ein Array zu speichern, müssen so kann ich Machen Sie einen Check für alle Personen über 30 und zeigen Sie alle Attribute an.

Ich habe dies so weit:

- (NSManagedObjectContext *)managedObjectContext 
{ 
    NSManagedObjectContext *context = nil; 
    id delegate = [[UIApplication sharedApplication] delegate]; 
    if ([delegate performSelector:@selector(managedObjectContext)]) { 
     context = [delegate managedObjectContext]; 
    } 
    return context; 
} 


- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 

    [self preparePersonalInfo]; 
} 

-(void)preparePersonalInfo 
{ 
    // Fetch the devices from persistent data store 
    NSManagedObjectContext *managedObjectContext = [self managedObjectContext]; 
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"PersonalInfo"]; 
    personalInfo = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy]; 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    NSMutableArray *personalInfoArray = [[NSMutableArray alloc] init]; 


    personalInfoArray = //This is where I need help to add the core data into this array 

    //then I need to check if age is over 30 
    //Then store the whole row of data as an array of an array to display it later 

} 

Wie mache ich den kommentierten Abschnitt.

Vielen Dank im Voraus!

+0

überprüfen Sie diese http://stackoverflow.com/questions/38458195/delete-and-update-data-in-core-data-in-ios/38460292#38460292 erstellt nsobject-Datei für den Zugriff und eine andere Operation –

Antwort

1

Wenn Sie nur eine Teilmenge der Einträge in Core Data verwenden möchten, verwenden Sie ein Prädikat für Ihre Abrufanforderung, sodass Sie nur diese Einträge abrufen. Etwas wie

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age > %@", 30]; 
fetchRequest.predicate = predicate; 

Das wird die Ergebnisse des Abrufs filtern. Sie scheinen bereits zu wissen, wie Sie die resultierende NSArray in eine NSMutableArray konvertieren können.