c# - 在 C#/.NET 中从 Apple/Objective-C 读取持久化数据

标签 c# .net objective-c serialization nscoder

是否有 C#/.NET 库或现有代码可以从 Apple 的序列化 API 读取持久化数据,即 NSKeyedArchiver、NSKeyedUnarchiver、NSCoder?

上下文:我的一个 friend 为一些 Apple 设备开发了一个很酷的应用程序。我有一个类似的 Microsoft 世界应用程序,想导入他的文档。数据位于包含所有必要内容的单个文件中。此文件是使用上述 Apple API 创建的。

用C#读取Apple的数据最简单的方法是什么?

谢谢,马塞尔

最佳答案

如果跨平台阅读是您的目标,IMO 您应该使用跨平台序列化程序。 Xml 将是一个微不足道的例子(并检查文档,may be supported),所以我首先要尝试的是序列化为 xml 并破解生成的内容。

如果这不起作用,或者您需要更紧凑的东西,那么 protobuf 可用于 Objective-C ( or another ,当然还有 several for C# )。

我对 Apple 序列化 API 了解不多,但平台绑定(bind)序列化程序往往会做一些使可移植性非常困难的事情:

  • 未记录的格式(经常)
  • 绑定(bind)到特定于平台的类型,需要重新映射
  • 绑定(bind)到类型的特定名称(字段等)或布局(字节偏移量)

关于c# - 在 C#/.NET 中从 Apple/Objective-C 读取持久化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6813535/

相关文章:

c# - 我可以使用 C# 使 "Contains"方法不区分大小写吗?

c# - 如何提供属性级字符串格式?

C#:当我尝试移动窗口、单击外部或最小化窗口时,窗口会挂起

ios - 在 subview 中添加 UIViewController

objective-c - 尝试构建应用程序时出现 LLVM 编译器 4.0 错误

c# - 一次调用即可接收按文档类型分组的搜索结果(NEST,AWS Elasticsearch)

c# - Redis 中的键值对列表

c# - 具有分布式 session 的 ASP.Net Core Identity

.net - Python vs C#/.NET——使用 Python 开发大型 Web 应用程序需要考虑的主要区别是什么?

objective-c - 单例 NSWindowController 关闭后不会重新打开窗口