Я просто смотрю на Objective-c меньше месяца и определенно новичок.
Я пытаюсь записать некоторые данные, полученные из веб-службы.Эти данные называются «Sens», и я создал структуры Core-data и класс NSManagedObject - «Sens.h».Я пробовал несколько разных способов создания объекта Sens, но я застрял с определением контекста (NSManagedObjectContext).Я прочитал, что это должно исходить от объекта (который является кодом ниже) - не работает.Я также попытался self.managedObjectContext - также не работал.
При этом код - строки проблемы:
NSManagedObjectContext *context = [Sens managedObjectContext];
Sens *newSens = [NSEntityDescription insertNewObjectForEntityForName:@"Sens" inManagedObjectContext:context];
Весь раздел кода:
#import "RootViewController.h"
#import "XMLElement.h"
#import "Sens.h"
@implementation RootViewController
@synthesize xmlDocument;
-(void) xmlDocumentDelegateParsingFinished:(XMLDocument *)paramSender {
NSLog(@"Finished downloading and parsing the remote XML");
// loop through the parsed items - sens
if ([paramSender.rootElement.name isEqualToString:@"ArrayOfSensItem"]) {
for (int i = 0; i < [paramSender.rootElement.children count]; i++) {
XMLElement *element = [[XMLElement alloc] init];
element = [paramSender.rootElement.children objectAtIndex:i];
// we would like to create a new sens object that must be written away
NSManagedObjectContext *context = [Sens managedObjectContext];
Sens *newSens = [NSEntityDescription insertNewObjectForEntityForName:@"Sens" inManagedObjectContext:context];
for (int j = 0; j < [element.children count]; j++) {
// another element - this is the actually interesting stuff
XMLElement *childElement = [[XMLElement alloc]init];
childElement = [element.children objectAtIndex:j];
if (newSens != nil) {
// body
if ([childElement.name isEqualToString:@"body"])
newSens.body = childElement.text;
// company code list
newSens.company = @"";
// headline
newSens.heading = childElement.text;
// newsid
newSens.sensID = (NSNumber *)[childElement.text intValue];
// sens date
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
newSens.sensDate = [dateFormat dateFromString:childElement.text];
// display
NSLog(@"Name: %@",childElement.name);
}
[childElement release];
}
// save the unsaved changes into the context
NSError *savingError = nil;
if ([context save:&savingError] == YES){
NSLog(@"Successfully saved the SENS item: %@",newSens.sensID);
} else {
NSLog(@"Failed to create a new SENS record.");
}
[newSens release];
// release the element
[element release];
}
}
NSLog(@"Root element: %@",paramSender.rootElement.name);
}
Спасибо - я благодарен за помощь!