Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用instancetype变量将txt文件转换为NSArray_Iphone_Ios_Database_Arrays_Associative Array - Fatal编程技术网

Iphone 使用instancetype变量将txt文件转换为NSArray

Iphone 使用instancetype变量将txt文件转换为NSArray,iphone,ios,database,arrays,associative-array,Iphone,Ios,Database,Arrays,Associative Array,我创建了一个NSObject类来存储数据。目前,在我的一个视图控制器中,我使用 NSArray*array=@[[Group groupWithName:@“name”类型:@“type”],…] 在类组中,这将转换为对象: +(instancetype)groupWithName:(NSString*)名称类型:(NSString*)类型 这个数组中的条目数量可能会变得相当大,我宁愿将其放在文本文件中。如何转换从txt文件读入的NSString并将其转换为类(组)对象?将复杂对象的初始化放入文

我创建了一个NSObject类来存储数据。目前,在我的一个视图控制器中,我使用

NSArray*array=@[[Group groupWithName:@“name”类型:@“type”],…]

在类组中,这将转换为对象:

+(instancetype)groupWithName:(NSString*)名称类型:(NSString*)类型


这个数组中的条目数量可能会变得相当大,我宁愿将其放在文本文件中。如何转换从txt文件读入的NSString并将其转换为类(组)对象?

将复杂对象的初始化放入文本文件的一种方法是使用JSON、XML或某些自定义格式,然后在运行时从资源中读取它们,并将其反序列化为对象

建议库将JSON解析为对象;这是。自定义格式可能非常简单,只需从循环中的文件中读取键值对列表,然后在运行时调用
groupWithName:type:

这种方法的问题在于它强制程序在运行时处理字符串,而不是让编译器进行解析。如果当前方法的唯一问题是代码长度,那么一个简单的替代方法是将数组初始化移动到函数中,将该函数放入单独的文件中,然后调用该函数,而不是将冗长的初始化代码嵌入到文件中。最终结果与编译器在编译时完成的大多数“繁重工作”类似