繁体   English   中英

在iOS中从文本文件创建对象的最有效方法

[英]Most efficient way to create object from text files in iOS

什么是存储文本文件的便捷方法,从而可以轻松在iOS中从文本文件创建对象?

例如:

  • 电子表格-> XML-> NSObject子类(这一问题是Google Docs电子表格只能导出为OpenDocument电子表格XML文件,这非常不便于解析)
  • csv-> NSObject子类(csv容易出错)

要存储的样本数据:

  • 名称-号码-电子邮件
  • 爱丽丝-012345-Alice@Alice.com
  • 鲍勃-78910-鲍勃@ Bob.com

要创建的示例类:

@interface Person : NSObject
{
    NSString *name;
    NSString *number;
    NSString *email;
}

谢谢

在iOS中执行此操作的首选(简便)方法是属性列表(plist)文件。 这是苹果公司的入门文件

它们本质上是iOS的JSON,实际上,您可以使用NSJSONSerialization类方法轻松地在两者之间进行转换。

该技术与Apple的工作方式是一致的(这在Apple开发社区中是一个胜利),并且不需要外部库。 此外,如果您决定将来扩展该应用程序,则遍布各处的内置支持都可以取消书面请求。

但是,应该提到的是,要从文件中获取实际的自定义对象(即,自定义类的实例),则需要探索稍微复杂一点的对象归档领域

假设您只有纯文本数据,这就是我要做的:

  1. 将电子表格导出为CSV。
  2. 使用CSV模块在python中读取CSV。
  3. 使用minidom模块转换为您喜欢的XML。
  4. 阅读Obj C中的XML。为此,我使用了SMXML(https://github.com/nfarina/xmldocument/)。 不是很快,但是很方便。

也可以使用AppleScript自动执行此过程。

如果您想要一个非常优雅的解决方案,并且可以使用任何类型的文件,请使用plist并使用NSCoding协议中的initWithCoder:和encodeWithCoder:方法将您的类/实例转换为属性列表对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM