将核心数据与特定数据库链接

时间:2011-12-07 17:21:37

标签: cocoa-touch core-data

我是iPhone开发的新手,尽管我花了好几个小时寻找正确的答案,但最后却让我更加困惑。 这是我的问题 - 我正在创建一个简单的iPhone应用程序,它有自己的数据库/只包含一个简单的表,并存储在我的项目文件夹中以及所有.m和.h文件/并使用托管核心数据呈现的对象模型。 我认为我按照应该完成的方式完成了所有工作,但我的程序以下列"未解决的错误错误Domain = NSCocoaErrorDomain Code = 256"操作无法完成。 (可可错误256。)

实际上这是整个输出:

  

2011-12-07 18:50:50.009 weatherForecast [5368:207] CoreData:错误:(1)I / O错误   数据库位于/ Users / eln / Library / Application Support / iPhone   模拟器/ 5.0 /应用/ 4991C3EB-BDC2-4507-B1FB-720F6DC30245 /文档/ weatherForecast.sqlite。    SQLite错误代码:1,'没有这样的表:Z_METADATA'

     

2011-12-07 18:50:50.012 weatherForecast [5368:207]未解决的错误   错误域= NSCocoaErrorDomain代码= 256"操作不能   完成。 (可可错误256。)"的UserInfo = 0x6a33e40   {NSUnderlyingException =数据库的I / O错误   /Users/toma.popov/Library/Application Support / iPhone   模拟器/ 5.0 /应用/ 4991C3EB-BDC2-4507-B1FB-720F6DC30245 /文档/ weatherForecast.sqlite。    SQLite错误代码:1,'没有这样的表:Z_METADATA',   NSSQLiteErrorDomain = 1},   {       NSSQLiteErrorDomain = 1;       NSUnderlyingException =" / Users / eln / Library / Application Support / iPhone上数据库的I / O错误   模拟器/ 5.0 /应用/ 4991C3EB-BDC2-4507-B1FB-720F6DC30245 /文档/ weatherForecast.sqlite。   ** SQLite错误代码:1,'没有这样的表格:Z_METADATA'";

我的程序在此get方法中停止: **

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
    if (__persistentStoreCoordinator != nil)
    {
        return __persistentStoreCoordinator;
    }
    NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"weatherForecast.sqlite"];
   NSLog(@"DATABASE IS LOCATED AT: %@",(NSString *)[self applicationDocumentsDirectory]);
    NSError *error = nil;
    __persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

    if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error])
    {
        //right here my program aborts
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();
    }

**

如果有人给我建议或者至少建议问题是什么,我将非常感激。谢谢你提前!

1 个答案:

答案 0 :(得分:1)

核心数据需要管理/创建自己的数据库,它不能使用您自己创建的数据库。 weatherForecast.sqlite是这样的文件吗?