我创建了一个 NSObject 类来存储数据。目前,在我的一个 View Controller 中,我使用
为此数据设置了一个数组NSArray *array = @[[Group groupWithName:@"name"type:@"type"], ...];
在 Group 类中,它被转换为一个对象:
+ (instancetype)groupWithName:(NSString *)名称类型:(NSString *)类型;
此数组中的条目数量可能会变得相当大,我宁愿将其放在文本文件中。如何将从 txt 文件中读取的 NSString 转换为类(组)对象?
最佳答案
将复杂对象的初始化放入文本文件的一种方法是使用 JSON、XML 或某种自定义格式,然后在运行时从资源中读取它们,并将其反序列化为对象。
This answer建议将 JSON 解析为对象的库;这是a link to an external library that lets you do XML deserialization .自定义格式可能就像从循环中的文件中读取键值对列表一样简单,然后随时调用groupWithName:type:
。
这种方法的问题在于它强制您的程序在运行时处理字符串,而不是让编译器进行解析。如果您当前方法遇到的唯一问题是代码的长度,一个简单的替代方法是将数组初始化移动到一个函数中,将该函数放入一个单独的文件中,然后调用该函数,而不是嵌入冗长的代码片段初始化代码到您的文件中。最终结果与编译器在编译时完成的大部分“繁重工作”类似。
关于iphone - 将 txt 文件转换为带有实例类型变量的 NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18192389/