2010-08-13 100 views
10

我想读取输入文件(如果存在),然后想要添加一个字符串到该输入。我的代码如下所示。如何将对象添加到NSMutableArray

NSMutableArray *listData = [[NSMutableArray alloc] initWithContentsOfFile:*filepath*]; 
// listData = null if the input file does not exist. 
NSString *jobName = [NSString stringWithFormat:@"My New Job"]; 
[listData addObject:jobName]; 

如果输入的存在,那么后ADDOBJECT:作业名称,则的ListData已经更新,但如果输入文件不存在的ListDataADDOBJECT仍然给空:JOBNAME。我的输入文件(如果存在)看起来像。

<array> 
     <string>My Job 1</string> 
     <string>My Job 2</string> 
     <string>My Job 3</string> 
</array> 

我想补充的串串现有阵列中或要创建的字符串的工作名的新数组,如果它已不存在。有人可以帮我吗?当输入文件不存在时,我应该使用哪种方法创建新的字符串数组。

回答

21

一个的一些可能性:

if (!listData) listData = [[NSMutableArray alloc] init]; 
[listData addObject:jobName]; 
4

the documentation

- (id)initWithContentsOfFile:(NSString *)aPath

初始化为包含该文件的通过aPathnil指定的内容的一个阵列,如果该文件可以”无法打开或文件内容无法分析到数组中。返回的对象可能与原始接收者不同。

因此,如果文件不存在,你必须手动创建数组使用:

listData = [[NSMutableArray alloc] init]; 
+0

非常感谢你戴夫德隆。它帮助了我。 – UCU110 2010-08-13 20:43:25

1

可以使用两种方法

添加在NSMutableArray的对象
  1. ADDOBJECT
  2. insertObject:atIndex

1。使用ADDOBJECT

[myMutableArray addObject:myObject]; 

2.使用inserObject:atIndex

[myMutableArray insertObject:myObject atIndex:index]; 

注:指数值必须是有效的(在范围内)

相关问题