1
對於我的作業,我必須將.h和.m寫入命令行應用程序,主要由我的老師給出。它是一個簡單的Chutes and Ladders風格板,打印出100個空間。在初始化後更改NSArray的值
梯形圖和滑槽將由單個維度數組中的「L10」和「C10」表示,該單維數組存儲板的表示形式。給定main的第一部分是initBoard,我想我將創建一個空字符串數組。 Ladder和Chutes的數量在隨後提供的代碼的兩行中給出,我想隨機通過他們的方法填充它們。
如果我在「initBoard」(第一件事主要調用)使用for循環方法來建立一個NSArray中的尺寸爲100,空刺填充它,我就能改變在我的「makeLadders」和「makeChutes」方法中將空字符串轉換爲「L10」和「C10」字符串,還是必須使用NSMutableArray來實現類似的功能?
我讀過NSArray是不可變的,這意味着它不能在init之後修改,所以如果希望修改數組的內容,就必須使用NSMutableArray。我的老師特別提到NSArrays應該保存董事會的數據,所以我很困惑。
哦,包含在不可變的陣列內的對象可以被改變! IDK爲什麼沒有穿過我的腦海。 – ChrisWilson4 2013-02-16 12:07:02
除了' - [NSMutableArray insertObject:atIndex:]'不會更改數組中的現有條目,它將插入一個新的條目。試試[' - [NSMutableArray replaceObjectAtIndex:withObject:]'](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html#//apple_ref/ occ/instm/NSMutableArray/replaceObjectAtIndex:withObject :)代替。假設你的目標是iOS 5或10.6或更高版本,你也可以使用'array [i] = newObject;'語法。 – 2013-02-16 16:04:46
就像Java一樣,耶! – ChrisWilson4 2013-03-01 14:22:43