2010-08-13 110 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]; 

注:指數值必須是有效的(在範圍內)

相關問題