【问题标题】:Need help for core data [closed]需要核心数据的帮助[关闭]
【发布时间】:2012-08-27 08:54:56
【问题描述】:

如何在核心数据中添加 NSDictionary 任何文档或示例代码都会有所帮助。 提前致谢。

【问题讨论】:

    标签: objective-c ios5 core-data xcode4.3


    【解决方案1】:

    在新项目窗口中,选择任何模板选项。在窗口的选项部分,确保选中使用核心数据进行存储旁边的复选框,单击选择

    AppDelegate.h

    @class coreDataViewController;
    
    @interface coreDataAppDelegate : NSObject <UIApplicationDelegate> {
    
    NSManagedObjectModel *managedObjectModel;
    NSManagedObjectContext *managedObjectContext;
    NSPersistentStoreCoordinator *persistentStoreCoordinator;
    
    coreDataViewController *viewController;
    
    UIWindow *window;
     }
    
    @property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
    @property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
    @property (nonatomic, retain, readonly) NSPersistentStoreCoordinator    *persistentStoreCoordinator;
    @property (nonatomic, retain) IBOutlet UIWindow *window;
    @property (nonatomic, retain) IBOutlet coreDataViewController *viewController;
    - (NSString *)applicationDocumentsDirectory;
    @end
    

    在您的视图控制器上:

    // 保存数据

    - (void) saveData
    {
        coreDataAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
        NSManagedObjectContext *context = [appDelegate managedObjectContext];
        NSManagedObject *newContact;
        newContact = [NSEntityDescription insertNewObjectForEntityForName:@"Contacts" inManagedObjectContext:context];
        [newContact setValue:@"anyData" forKey:@"anyKeyInDataBase"];
        [newContact setValue:@"anyData" forKey:@"anyKeyInDataBase"];
        [newContact setValue:@"anyData" forKey:@"anyKeyInDataBase"];
        NSError *error;
        [context save:&error];
     }
    

    // 检索数据

     - (void) findContact
     {
        coreDataAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    
        NSManagedObjectContext *context = [appDelegate managedObjectContext];
    
        NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"Contacts" inManagedObjectContext:context];
    
        NSFetchRequest *request = [[NSFetchRequest alloc] init];
    
        [request setEntity:entityDesc];
    
        NSPredicate *pred = [NSPredicate predicateWithFormat:@"(yourPrimaryKey = %@)", @"theKeyYouSearchFor"];
    
        [request setPredicate:pred];
    
        NSManagedObject *matches = nil;
        NSError *error;
    
        NSArray *objects = [context executeFetchRequest:request error:&error];
    
        if ([objects count] == 0) {
                 NSLog( @"No matches");
        } else {
                matches = [objects objectAtIndex:0];
                 NSLog( @"%@",[matches valueForKey:@"anyKey"]);
                 NSLog( @"%@",[matches valueForKey:@"anyKey"]);
                 NSLog( @"%@",[matches valueForKey:@"anyKey"]);
    
        }
        [request release];
    }
    

    它应该可以正常工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多