在這個網站上有很多關於添加到NSMutableArray的例子,我已經看過很多,但我仍然不明白(極有可能)或缺少一些基本的東西。NSMutableArray insertObject atIndex問題
我想通過for循環添加到NSMutableArray。我想使用按鈕標籤作爲鍵/索引來跟蹤按鈕x,y座標位置,以便用戶點擊時可以更改按鈕。這完全沒有IB。
我的初始化是如下:
self.tmpXpos = [[NSMutableArray裏的alloc] INIT];
self.tmpYpos = [[NSMutableArray alloc] init];[self.tmpXpos insertObject:[NSNull null] atIndex:0];
[self.tmpYpos insertObject:[NSNull null] atIndex:0];
**我在閱讀'創建'數組並填充null後添加了這些內容。
在循環:
NSUInteger BTAG = button.tag; // NSUInterger按幫助
>>NSNumber *xNumber = [NSNumber numberWithInteger:[self xpos]]; // NSNumber as an Object wrapper
>>NSNumber *yNumber = [NSNumber numberWithInteger:[self ypos]];
>>[self.tmpXpos insertObject:xNumber atIndex:btag];
>>[self.tmpYpos insertObject:yNumber atIndex:btag];
的NSLog(@ 「%d,%@,%@」,BTAG,xNumber,yNumber);
日誌條目看起來OK:
2,64,0
3,128,0
等爲每個按鈕添加到屏幕上。
在調試過程中 - tmpXpos和tmpYpos在自身下列爲「0對象」。
我正是如此檢索信息:
NSUInteger tmpSt = [self.sTags integerValue];
NSNumber * tmpX = [self.tmpXpos objectAtIndex:tmpSt];
NSNumber * tmpY = [self。tmpYpos objectAtIndex:tmpSt];
int tmpPositionX = [tmpX intValue];
int tmpPositionY = [tmpY intValue]; NSLog(@「%d,%d」,tmpPositionX,tmpPositionY);
的NSLog產生0,0
我不明白你們這些人可能是這個網站的「健全性檢查」過去救了我的燻肉任何指導或問題。
到目前爲止,我忽略了內存泄漏,但他們在我心中。不用擔心。具有諷刺意味的是,我有幾個其他數組可以正常工作,但例外情況是它們不是通過循環填充的。
最後,代碼工作正常,因爲位置0,0處的按鈕確實按照設計LOL更改,但不適用於任何其他位置。
再次感謝!
尼爾
好主意,但它沒有奏效。對象self.xpos的內容也僅僅是一個整數,它給了我想要嘗試'numberWithInteger'的想法,但'numberWithUnsignedLong'並沒有改變數組內容:0通過調試中的self。 – Neil 2011-05-31 08:43:56
這是給我適合,所以我想我打算踢和硬編碼從日誌文件的座標! – Neil 2011-05-31 12:45:51
哦,等等,我只是看着你檢索信息的方式,然後你把一個整數轉換成一個無符號長整數。 NSUInteger tmpSt = [self.sTags integerValue]; – 2011-05-31 14:04:44