- (void)setToInitialStateMain
{
[super clearBoard];
if (_data[@"StoneOne"] != nil) {
NSDictionary* stoneOne = _data[@"StoneOne"];
NSNumber* c = stoneOne[@"Column"];
NSNumber* r = stoneOne[@"Row"];
NSInteger column = [c intValue];
NSInteger row = [r intValue];
[_boardCol addObject:[NSNumber numberWithInt:column]];
[_boardRow addObject:[NSNumber numberWithInt:row]];
}
}
所以@"StoneOne"
,@"Column"
和@"Row"
鍵從NSDictionary
plist文件來。當我嘗試將NSNumber @"Column"
轉換爲NSInteger
時,一切正常。不能NSNumber的對象添加到NSMutableArray的
現在,行「[_boardCol addObject:[NSNumber numberWithInt:column]];
」在「列」是正確的整數(2)方面沒問題。但是,在方法調用結束時設置斷點以檢查_boardCol
(以及_boardRow
)時,兩個NSMutableArray*
實例變量的值均爲nil
。這是爲什麼?
都是你的NSMutableArrays正確初始化? – zfetters
你是什麼意思?我只是將它們作爲實例變量寫在我的@implementation Model文件的大括號中。那仍然沒有初始化它們嗎? – Frank
沒有你真的需要分配和初始化他們仍然可以使用之前,更可能只是在你的初始化方法 – zfetters