• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

objective-c - NSPersistentStoreCoordinator 保存到 XML

[复制链接]
菜鸟教程小白 发表于 2022-12-11 20:28:59 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我已经使用 (Task) 建立了一个模型,并且以我理解 Core Data 的方式我已经做到了这一点:将三个项目添加到上下文中:

NSManagedObjectModel *m = [NSManagedObjectModel mergedModelFromBundles:nil];
NSPersistentStoreCoordinator *p = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:m];

//    NSPersistentStore *pp = [p addPersistentStoreWithType:NSXMLStoreType configuration:nil URL: options:<#(NSDictionary *)#> error:<#(NSError *__autoreleasing *)#>

NSManagedObjectContext *c = [[NSManagedObjectContext alloc] init];
[c setPersistentStoreCoordinator:p];
Task *t = [[Task alloc] init];
t.label = @"Test Item";
[c insertObject:t];
[c insertObject:t];
[c insertObject:t];

我现在如何将此上下文序列化为 XML 文件?谢谢。

编辑:似乎 NSXMLStoreType 在 iPhone 中不可用!



Best Answer-推荐答案


如果您查看 NSPersistentStoreCoordinator.h 文件,您会看到这些行...

// Persistent store types supported by Core Data:
COREDATA_EXTERN NSString * const NSSQLiteStoreType NS_AVAILABLE(10_4, 3_0);
COREDATA_EXTERN NSString * const NSXMLStoreType NS_AVAILABLE(10_4, NA);
COREDATA_EXTERN NSString * const NSBinaryStoreType NS_AVAILABLE(10_4, 3_0);
COREDATA_EXTERN NSString * const NSInMemoryStoreType NS_AVAILABLE(10_4, 3_0);

请注意,对于大多数这些商店类型,我们看到 NS_AVAILABLE(10_4, 3_0) 这意味着这些商店类型在 Mac OS 10.4 及更高版本以及 iOS 3.0 及更高版本中可用。 p>

但是,对于 NSXMLStoreType,我们看到的是 NS_AVAILABLE(10_4, NA)。这意味着 NSXMLStoreType 适用于 Mac OS 10.4 及更高版本,不适用于任何 iOS。

过去可以解锁该 .h 文件,修改此 NSString 以使此存储类型可用并编写您自己的此存储类型的实现,但我无法真正完成这项工作。

关于objective-c - NSPersistentStoreCoordinator 保存到 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8071450/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap