2014-09-23 67 views
0

当我尝试向我的单一视图项目添加核心数据时出现此错误,我按照指南那里http://blog.shalomfriss.com/?p=1016。我在第一次出现此错误括号在我的AppDelegate-m文件中,括号多于- (void)saveContext;。我要把代码放在这里,所以我可以得到一些帮助,但是我认为问题出现在括号内的所有括号中,并且我一直在尝试修复它现在但我不能让它工作,所以这就是为什么我在这里发布我的问题:)。预期标识符或'('括号内错误(?)

的AppDelegateħ - 文件

#import <UIKit/UIKit.h> 

@interface AppDelegate: UIResponder <UIApplicationDelegate> 
@property (strong, nonatomic) UIWindow *window; 

@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext; 
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel; 
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator; 

-(void)saveContext; 
-(NSURL *)applicationDocumentsDirectory; 

@end 

和这里的AppDelegate中米-file

#import "AppDelegate.h" 


@implementation AppDelegate; 

@synthesize managedObjectContext = _managedObjectContext; 
@synthesize managedObjectModel = _managedObjectModel; 
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator; 
@end 



{ 

- (void)saveContext 

    { 
    NSError *error = nil; 
    NSManagedObjectContext *managedObjectContext = self.managedObjectContext; 
    if (managedObjectContext != nil) { 
     if ([managedObjectContext hasChanges] &amp;&amp; ![managedObjectContext save:&amp;error]) { 
      NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
      abort(); 
      } 
     } 
    } 


    #pragma mark - Core Data stack 

- (NSManagedObjectContext *)managedObjectContext 
    { 
    if (_managedObjectContext != nil) { 
     return _managedObjectContext; 
    } 

    NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];{ 
     if (coordinator != nil) { 
     _managedObjectContext = [[NSManagedObjectContext alloc] init]; 
     [_managedObjectContext setPersistentStoreCoordinator:coordinator]; 
     } 
      return _managedObjectContext; 
    } 

- (NSManagedObjectModel *)managedObjectModel 
    { 
    if (_managedObjectModel != nil) 
     return _managedObjectModel; 
    } 
    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"MyDataModel" withExtension:@"momd"]; 
    _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; 
    return _managedObjectModel; 
    } 

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator 
    { 
     if (_persistentStoreCoordinator != nil) { 
     return _persistentStoreCoordinator; 
    } 

    NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"YourDataBaseName.sqlite"]; 

    NSError *error = nil; 
    _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]]; 
     if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&amp;error]) { 
     NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
     abort(); 

     } 
     return _persistentStoreCoordinator; 
    } 


#pragma mark - Applications Documents directory 


- (NSURL *)applicationDocumentsDirectory 
    { 
    return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; 
    } 

@end 

所以,误差是在所述第一支架的m文件。

回答

2

@end声明及支架在实现文件是虚假的:

@end // remove 

{  // remove 

- (void)saveContext 
+0

我哈德固定的错误,但现在我得到的失踪方法声明上下文 - (无效); – Andy 2014-09-23 09:56:45