2012-11-22 77 views
0

當我調用DidSelectRowAtIndexPath時,我正在檢查單元格是否已被檢查,如果是,請檢查覈心數據中的鍵。 (這個過程允許我將導航按鈕從零設置爲添加,如果項目被選中)。我也想把選定的項目放在一個數組(或集合)中,這樣我可以在我的Add方法中調用它(以保存到Core Data)。我已經在頭文件中聲明瞭checkedArray,但它只會將最後選中的單元格保存到數組中。什麼是正確的方法來做到這一點?如何將迭代對象添加到NSMutableArray中

Athlete *checkedAthlete = (Athlete *)[self.fetchedResultsController objectAtIndexPath:indexPath]; 

[checkedAthlete setValue:[NSNumber numberWithBool:targetCustomCell.checked] forKey:@"athleteChecked"]; 

BOOL hasChecked = NO; 
for (checkedAthlete in self.fetchedResultsController.fetchedObjects) 
{ 
    BOOL isChecked = [[checkedAthlete valueForKey:@"athleteChecked"] boolValue]; 
    if (isChecked) 
    { 
     hasChecked = YES; 

     checkedArray = [[NSMutableArray alloc] initWithObjects:checkedAthlete,nil]; 
     //NSLog(@"%@",checkedArray); 
    } 
} 

我也宣告的NSMutableSet在頁眉和嘗試:

[testSet = [NSMutableSet set] addObject:checkedAthlete]; 

回答

0

在此行中

checkedArray = [[NSMutableArray alloc] initWithObjects:checked athlete,nil]; 

你在做什麼在它正在創建一個項目一個新的數組和分配它到checkedArray

你想要做的是創建一個數組/設置,然後添加對象。

- (void)viewDidLoad; 
{ 
    [super viewDidLoad]; 

    self.checkedArray = [NSMutableArray array]; 
} 

再後來就你這樣做

[self.checkedArray addObject:checkedAthlete]; 

這走的是現有的可變數組/套並增加了新的對象來它在那裏像以前一樣,你正在創造一個新的可變數組/設置每次只有一個項目

相關問題