0

我有一个核心数据对象,它由不同类型的 NSString、Float、NSDATA、...组成。

  <Shoplog: 0x9c78d20> (entity: Shoplog; id: 0x9c77050 <x-coredata://828289C5-E1B8-48A6-B2A0-F68B7DF21F2E/Shoplog/p5> ; data: {
    categoryname = Ines;
    comments = nil;
    date = nil;
    email = "iloveyou@gmail.com";
    image = <ffd8ffe0 00104a46 49460001 01000001 00010000 ffe10058 45786966 00004d4d 002a0000 00080002 01120003 00000001 0001>;
    phone = 800;
    price = 9988;
    shop = "";
    websiteurl = "http://www.google.com";
})

问题是我想将此 NSManaged 对象导出到 NSArray 或 NSDictionary 中,以便将其写入文件,以便通过邮件将其发送给另一个用户,并从他的应用程序中打开它。

所以每当我尝试使用此代码时

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"Shoplog.slog"];
[savedData writeToFile:filePath atomically:YES];

无论 Selected NSManagedObject 有多大,它都会给我一个非常小的文件 135bytes 我得到相同的 Size 。

我需要帮助来了解发生了什么问题?我想到了 1 个解决方案: 1- 使用 KVC 方法将 NsManagedObject 转移到 NSMutableArray

虽然我仍然相信这个问题有一个更聪明的解决方案,所以如果有人可以帮助我将不胜感激。

谢谢

4

1 回答 1

4

我在下面的链接中有我的答案,它很容易实现,只需按照步骤 序列化(归档/取消归档)NSManagedObject Graph

于 2012-11-05T11:13:24.210 回答