2014-09-03 51 views
0

我正在使用以下代碼將「sqlite3_last_insert_rowid」存儲到NSMutableArray中,我得到的是rowid,但沒有任何數據存儲在數組中。它給我空。無法將sqlite3_last_insert_rowid存儲到數組

NSUInteger rowIDNum=sqlite3_last_insert_rowid(myDatabase); 
     NSNumber *xWrapped = [NSNumber numberWithInt:rowIDNum]; 
     [_rowID insertObject:xWrapped atIndex:0]; 
     NSLog(@"row ID array %@",[_rowID objectAtIndex:0]); 

請問能否告訴我將rowid存儲到數組中的正確方法?

回答

1

我懷疑這個數組沒有被分配,否則如果數組被分配但是是空的(即你第一次調用該方法),你會得到一個NSRangeException

NSMutableArray reference

索引

陣列在其中的索引插入anObject。該值 不得大於數組中元素的數量。

重要:如果索引大於數組中元素的數目 ,則引發NSRangeException

你通常會分配在類init方法或viewDidLoad法陣,這取決於類是什麼。一旦分配了陣列,請使用:

NSUInteger rowIDNum=sqlite3_last_insert_rowid(myDatabase); 
[_rowID insertObject:@(rowIDNum)];