Печать основных данных - PullRequest
1 голос
/ 04 октября 2010

Я работаю над программой и создал запрос на выборку, чтобы получить данные, которые мне нужно распечатать. Я могу регистрировать информацию следующим образом:

2010-10-03 16:57:10.362 lzshow7.2[2537:10b] <NSManagedObject: 0x2ca120> (entity: Song; id: 0x2afcb0 <x-coredata://CF5A85CE-BE0F-4ADC-979A-7F4214A8FB19/Song/p9> ; data: {
    cueName = Freedom;
    cueNo = 014;
    cueNotes = nil;
    songToInstrument = "<relationship fault: 0x2b1800 'songToInstrument'>";
})

Как разделить свойства, такие как cueName, cueNo, cueNotes, для печати?

Вот запрос на выборку:

 //Managed object context???
 NSLog(@"setting Managed object stuff");
 NSManagedObjectContext *context=[[[NSDocumentController sharedDocumentController] currentDocument] managedObjectContext];
 NSLog(@"Second line of Managed object stuff");






 //fetch request:  
 NSLog(@"Starting to fetch:");

 NSFetchRequest *request = [[NSFetchRequest alloc] init];
 NSEntityDescription *entity = [NSEntityDescription entityForName:@"Song" inManagedObjectContext:context];
 [request setEntity:entity];
 NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"cueNo" ascending:YES];
 NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
 [request setSortDescriptors:sortDescriptors];
 [sortDescriptors release];
 [sortDescriptor release];
 NSError *error;
 NSMutableArray *mutableFetchResults = [[context executeFetchRequest:request error:&error] mutableCopy];



 for (id obj in mutableFetchResults)
  NSLog(@"%@", obj);

 NSLog(@"finished looping");
 //Error handling

 if (mutableFetchResults == nil) {

  // Handle the error.

 }

 //[self setEventsArray:mutableFetchResults];
 [mutableFetchResults release];
 [request release];


}

Любая помощь будет принята с благодарностью.

Спасибо,

Loren

1 Ответ

0 голосов
/ 04 октября 2010

Вы используете в основном противоположность того, как вы сохранили значения в вашем управляемом объекте

NSString *name = [song valueForKey:@"cueName"];
NSNumber *number = [song valueForKey:@"cueNo"];
NSString *notes = [song valueForKey:@"cueNotes"];
...
NSLog(@"%@ %@ %@", name, number, notes);

Если вы создали собственный класс вашей сущности, вы можете добавить этот метод:

- (NSString *)description {
    NSString *name = [song valueForKey:@"cueName"];
    NSNumber *number = [song valueForKey:@"cueNo"];
    NSString *notes = [song valueForKey:@"cueNotes"];
    ...
    NSString *returnString = [NSString stringWithFormat:@"%@ %@ %@", name, number, notes];
    return returnString;
}

С помощью этого метода вы можете просто использовать NSLog(@"%@", object);, чтобы получить хороший форматированный вывод

...