2010-08-13 34 views
10

Tôi đang cố đọc tệp đầu vào (nếu có) và sau đó muốn thêm chuỗi vào đầu vào đó. Mã của tôi trông như sau.cách thêm đối tượng vào 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]; 

nếu đầu vào tồn tại thì sau khi AddObject: jobName, các listData được cập nhật nhưng nếu các tập tin đầu vào không tồn tại các listData vẫn mang lại rỗng sau AddObject: jobName. Tập tin đầu vào của tôi (nếu tồn tại) trông giống như vậy.

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

Tôi muốn thêm chuỗi trong chuỗi hiện có của chuỗi hoặc muốn tạo một mảng chuỗi tên công việc mới nếu nó chưa có. Có ai giúp tôi ra ngoài không. Tôi nên sử dụng phương pháp nào để tạo mảng chuỗi mới khi tệp đầu vào không tồn tại.

Trả lời

21

Một trong một số khả năng:

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

Từ the documentation:

- (id)initWithContentsOfFile:(NSString *)aPath

Một mảng được khởi tạo để có các nội dung của tập tin theo quy định của aPath hoặc nil nếu tập tin có thể' t được mở hoặc nội dung của tệp không thể được phân tích cú pháp thành một mảng. Đối tượng trả về có thể khác với đối tượng nhận ban đầu.

Vì vậy, nếu các tập tin không tồn tại, bạn sẽ phải tạo mảng bằng tay sử dụng:

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

Thank you very much Dave DeLong. Nó đã giúp đỡ tôi. – UCU110

1

Bạn có thể thêm đối tượng trong NSMutableArray sử dụng hai phương pháp

  1. AddObject
  2. insertObject: atIndex

1. sử dụng AddObject

[myMutableArray addObject:myObject]; 

2.using inserObject: atIndex

[myMutableArray insertObject:myObject atIndex:index]; 

Lưu ý: giá trị Index phải hợp lệ (Trong Range)

Các vấn đề liên quan