【问题标题】:Can I add the CAArchive class to my iPhone project to serialize data? If so, how?我可以将 CAArchive 类添加到我的 iPhone 项目以序列化数据吗?如果是这样,怎么做?
【发布时间】:2011-06-29 13:00:10
【问题描述】:

我必须使用CAArchiver 类来序列化来自iPhone 项目中.bin 文件的数据(我需要在C++ 代码sn-p 中使用它)。我该怎么做?

我还研究了以下链接:http://msdn.microsoft.com/en-us/library/caz3zy5s(v=vs.80).aspx。这似乎用于 .NET 技术。

我该怎么办?

【问题讨论】:

    标签: iphone c++ objective-c


    【解决方案1】:

    CArchive(根据您的链接)是 Microsoft 基础类库的一部分。您不太可能在 iOS 平台上找到它们的实现。

    如果您只需要提供一种序列化,Jigneshs 的答案就是要走的路。如果您需要与 CArchive 的其他输出兼容,那么您可能必须自己实现。

    【讨论】:

    • 实际上我有 .bin 格式文件,以下行都不适合我。你能建议我如何将此 bin 文件转换为序列化二进制文件,并在此处参考以下链接 c++ code for CAArchive也给出msdn.microsoft.com/en-us/library/dz8k76ze.aspx
    • 如果你真的需要读入一个由 CArchive 生成​​的对象,我相信你唯一的方法就是看一下序列化逻辑并自己重新实现它。另请参阅this question 以获取参考。
    【解决方案2】:

    我不知道你想要什么:

    但是iphone里有一个类

    NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dictionary];
    

    字典可以是NSObject的地方

    NSObject *dictionary = [NSKeyedUnarchiver unarchiveObjectWithData:data];
    

    其中数据是二进制,即 NSData

    使用它,我认为它会对您正在寻找的内容有所帮助....

    【讨论】:

    • 我需要从二进制文件中获取应该序列化的数据,CAArchive 用于序列化数据检查此链接msdn.microsoft.com/en-us/library/dz8k76ze.aspx 这里检查 c++ 的语法
    • 你会如何在 iphone 中使用它?
    • 使用 c++ 代码,我需要使用以下方法 CArchive ar( &f, CArchive::load);我不知道怎么做?
    猜你喜欢
    • 2017-11-14
    • 2017-09-26
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 2011-01-21
    • 2016-08-01
    • 2019-01-04
    相关资源
    最近更新 更多