如何在 Mac 应用程序中设置初始 Core Data 存储?

Posted

技术标签:

【中文标题】如何在 Mac 应用程序中设置初始 Core Data 存储?【英文标题】:How to set up initial Core Data store in a Mac app? 【发布时间】:2011-06-25 03:22:23 【问题描述】:

我是一位经验丰富的 ios 开发人员,正在尝试制作我的第一个 Mac 应用程序。我想使用核心数据将数据存储在我的应用程序中。在我的 iOS 应用程序中,我通常有一个预先创建的 SQLite 文件,它用作数据存储的初始状态,并在应用程序第一次运行时移动到位,如下所示:

NSString *storePath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Datafile.sqlite"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:storePath]) 
    NSString *defaultStorePath = [[NSBundle mainBundle]  pathForResource:@"Datafile-DefaultData" ofType:@"sqlite"];
    if (defaultStorePath) 
        [fileManager copyItemAtPath:defaultStorePath toPath:storePath error:NULL];
    

我想在mac应用程序中做类似的事情,除了将数据放在~/Library/Application Support/MyApp目录中。我似乎无法弄清楚该怎么做。有什么指点吗?

【问题讨论】:

【参考方案1】:

在 Xcode 4 中,出于某种原因,默认的 Core Data 项目模板使用根目录 ~/Library(即 ~/Library/Application 来存储您的 Core Data 文件。无论如何您都应该更改它(因为这是一个坏主意),但是一旦你这样做了,它应该会像你期望的那样工作。我相信 Mac 上的默认名称是storedata,你还应该注意你需要将存储类型从 XML 更改为默认值。

【讨论】:

那么,如何将其从 ~/Library/Application 更改为其他内容?

以上是关于如何在 Mac 应用程序中设置初始 Core Data 存储?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ASP.NET Core 中设置默认区域?

如何在 dotnet core web api 中设置起始页?

如何在XCode中设置OpenCV

如何在 ASP.NET Core 中设置 cookie validateInterval?

如何在 asp.net core 3 中设置 json 序列化程序设置?

如何在 iOS 上的 Core Data 中设置新创建的关系?