2013-02-28 30 views
0

我想創建一個大小爲100的NSMutableArray,然後用三個空格字符串" "填充每個索引。我要麼不正確地創建數組我錯誤地返回對象。這是我創建陣列的方法:如何將字符串插入NSArray並稍後返回以進行打印或比較?

-(void) initBoard{ 
    _board = [board initWithCapacity:100]; 
    for(int i =0; i < 100; i++){ 
     [_board addObject:@" "]; 
    } 
} 

此方法運行不正常。我在上面的那個包含NSLog @"@%", [_board objectAtIndex: i];之後添加了一個for循環,以便我可以驗證每個索引中實際上包含三個空格的字符串,但是它在控制檯中打印的所有內容都是「零」。到目前爲止,我曾嘗試:

  • 我想,也許在addObjectAtIndex是問題,所以我只是把它改成addObject,改變了initWithCapacity只是init];,使for循環數組建立大小100

  • 然後我想,也許這個問題是,試圖插入文字字符串,@" "(IDK如何使#2顯示我的3位,不只是1),所以我加了NSString *input = @" ";前右側的for循環,然後改[_board addObject:@" "]; to`[_board addObject:input;

如何實際創建大小爲100的一個NSMutableArray,並盡一切現貨包含三個空格相同字符串的任何建議?

+1

你幾乎肯定無法分配數組。 – 2013-02-28 02:49:45

+0

我以爲我有我的.h文件中的'alloc'語句。事實並非如此。我對.h文件感到困惑,並且不明白什麼時候不使用alloc,爲什麼它不僅僅是通過defualt來實現呢? – ChrisWilson4 2013-02-28 05:19:03

+0

我從來沒有在.h文件中看到'alloc'。 'alloc'是一個過程,你永遠不會在標準的.h文件中調用過程。另外,在Objective-C中,除非你真的瞭解你正在做什麼以及做這件事的全部意義,否則你總是應該一起*使用'alloc'和'init ...'。 – 2013-02-28 12:38:57

回答

2

您需要alloc吃,比init ialize的可變數組:

-(void) initBoard{ 
    _board = [[NSMutableArray alloc] initWithCapacity:100]; 
    for(int i =0; i < 100; i++){ 
     [_board addObject:@" "]; 
    } 
} 
相關問題