Ошибка сохранения основных данных - PullRequest
0 голосов
/ 13 февраля 2011

Я пытаюсь сохранить некоторые данные в базовые данные из другого представления, и у меня появляется ошибка, когда я нажимаю кнопку, чтобы сохранить данные. То, что я получаю:

Unresolved error (null), (null)

Вот весь мой код:

SomeViewController.h

#import <UIKit/UIKit.h>
@class NameData;
@interface SomeViewController : UIViewController <NSFetchedResultsControllerDelegate> {
    NSFetchedResultsController *fetchedResultsController;
    NSManagedObjectContext* managedObjectContext;
    NameData *nameData;
}
@property (nonatomic,retain) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic,retain) NSManagedObjectContext* managedObjectContext;
@property (nonatomic,retain) NameData *nameData;

- (IBAction)saveData;

@end

SomeViewController.m

#import "SomeViewController.h"
#import  "NameData"

@implementation SomeViewController

@synthesize addTeam;

- (void)viewDidLoad {
    [super viewDidLoad];
    self.title = @"Add Name;

}

- (IBAction)saveData{

    NSString *string = @"demo";

    nameData.nameContent = string;
    nameData.name2Content = string;
    nameData.name3Content = string;


    NSError *error = nil;
    if (![nameData.managedObjectContext save:&error]) {
        // Handle error
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();  // Fail
    }   
}
- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}


- (void)dealloc {
    [nameData release];
}
@end

NameData.h

#import <CoreData/CoreData.h>


@interface NameData :  NSManagedObject  
{
}

@property (nonatomic, retain) NSString * nameContent;
@property (nonatomic, retain) NSString * name2Content;
@property (nonatomic, retain) NSString * name3Content;
@end

NameData.m

#import "NameData"

@implementation NameData

@dynamic nameContent;
@dynamic name2Content;
@dynamic name3Content;
@end

1 Ответ

2 голосов
/ 13 февраля 2011

сохранение должно выполняться на экземпляре managedObjectContext, а не на самой модели.

Пример:

NSError *error;
NSManagedObjectContext *moc = [self.fetchedResultsController managedObjectContext];
if (![moc save:&error]) {
    NSLog(@"Failed to save to data store: %@ - %@", 
          [error localizedDescription], [error userInfo]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...