2010-06-08 73 views
1

我想通過讀取.txt文件創建一個NSMutableArray,並且無法將數組的最後一個元素設置爲nil。將nil添加到NSMutableArray

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"namelist" ofType:@"txt"]; 
NSString *data = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; 
NSArray *list = [data componentsSeparatedByString:@"\n"]; 
NSMutableArray *mutableList = [[NSMutableArray alloc] initWithArray:list]; 

我想使用NSMutableArray的函數addObject,但不會允許我添加nil。我也試過:

[mutableList addObject:[NSNull null]]; 

但這似乎並不奏效。有沒有解決這個問題的方法?

+0

這有什麼錯NSNull的方法呢?看起來它的設計是爲了解決你的問題......爲什麼你需要你的最後一個元素爲零(或NSNull)呢? – Vladimir 2010-06-08 14:30:43

+0

添加[NSNull null]時會出現什麼錯誤?如果你使用這個方法是否可以使用:'NSMutableArray * mutableList = [list mutableCopy];'? – JeremyP 2010-06-08 15:00:15

+0

我認爲[NSNull null]可能工作(我意識到問題是我試圖打印出一個空值,這是導致錯誤)。這是源於這個問題的另一個問題:mutableList.count返回0,即使列表中包含元素(我甚至將其內容打印出來)。這是一種內存管理問題嗎?作爲Objective-C的新成員,來自Java,這是相當令人費解的:/ – 2010-06-08 15:40:10

回答

0

使用

NSMutableArray *mutableList = [[NSMutableArray alloc] init]; 
[mutableList addObjectsFromArray:list]; 

希望這有助於 jrtc27

+1

我認爲:'NSMutableArray * mutableList = [list mutableCopy];'更好 – JeremyP 2010-06-08 15:00:57

+0

非常真實;) - 沒有想到這一點。這也很容易理解 – jrtc27 2010-06-28 16:56:36