2012-09-05 59 views
2

我是iOS編程新手,我寫了我的第一個應用程序。我有一個NSMutableArray中的項目。這些對象有標題,ID等和最喜歡的屬性。最喜歡的屬性是一個布爾值,並告訴用戶是否將該項目添加到收藏夾中。現在回到我的問題:在UITableView中,我只希望在'table'中顯示所有帶有favorite = YES的項目。我怎麼做 ?我必須在數組中循環並將這些項目保存到一個新數組中,然後才能找到方法cellForRowAtIndexPath?像viewDidLoad也許?因爲我試圖在方法cellForRowAtIndexPath方法中設置一個條件,但是隻有一堆顯示的空單元格+我最喜歡的一個項目。幫助Pleese!我如何從數組中選擇特定項目以在UITableView中顯示?

回答

0

您可以創建最喜愛的項目一個新的數組,然後

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return [favoriteArray count] 
} 

和cellForRoAtIndexPath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

Favorite * currentFaforite = [favoriteArray objectAtIndex:indexPath.row]; 
NSString *CellIdentifier = @"ProductCell"; 



UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
} 
cell.textLabel.text = currentFaforite.name; 

return cell; 
} 
+0

好的。非常感謝你。我今晚會試試這個! – Mia

3

我會循環使用的,在聲明中遍歷數組,並作出新的* favoriteArray及其中的所有項目,您希望顯示在tableView中。 所以像這樣:

NSMutableArray *favoriteArray = [NSMutableArray new]; 
for (Item *item in self.mutableArray) { 
    if (item.favorite) { 
     [favoriteArray addObject:item]; 
    } 
} 
相關問題