在我的UITableView中執行Like/Different函數時出現問題。我正在使用Parse.com數據庫,到目前爲止,類似和不同的函數實際上工作,但如果我向下滾動一下,UITableView顯示錯誤的信息。像UITableViewCells中的按鈕
使用NSLog得到我真正喜歡的正確的行。我查詢的是我在數據庫中創建的類,以便與indexPath中的對象進行比較,如果它們與不同的按鈕匹配應該是可見的。問題是,如果我喜歡第一行(索引0),不同按鈕也將顯示在索引5,10,15等。我從屏幕上開始可以看到3,5個單元格。這裏是我的代碼,是的cellForRowAtIndexPath
PFQuery *getLike = [PFQuery queryWithClassName:@"Likes"];
[getLike whereKey:@"user" equalTo:[PFUser currentUser]];
[getLike whereKey:@"post" equalTo:[mainFeed objectAtIndex:indexPath.row]];
[getLike findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
if(!error){
PFUser* userIClickedOnInTheTableview = [PFUser currentUser];
PFObject *checkObj = [mainFeed objectAtIndex:indexPath.row];
for (PFObject *object in objects) {
PFUser* checkUser = [object objectForKey:@"user"];
PFObject *likeObj = [object objectForKey:@"post"];
if([userIClickedOnInTheTableview.objectId isEqualToString:checkUser.objectId] && [checkObj.objectId isEqualToString:likeObj.objectId]){
NSLog(@"You like this row: %d", indexPath.row);
MIHFeedCell *thecell = (MIHFeedCell*)[tableView cellForRowAtIndexPath:indexPath];
thecell.likeBtn.hidden = YES;
thecell.unlikeBtn.hidden = NO;
}else{
MIHFeedCell *thecell = (MIHFeedCell*)[tableView cellForRowAtIndexPath:indexPath];
thecell.likeBtn.hidden = NO;
thecell.unlikeBtn.hidden = YES
;
}
}}
}];
我不認爲我真的明白你的意思,我沒有把viewDidLoad中的下載方法,而只是嘗試,但我在cellForRowAtIndexPath比較,因爲我需要檢查與數據庫,如果行上的對象存在在那裏。 – Mikzstone
你可以在'viewDidLoad'本身進行比較。 獲取值,比較它們並顯示在'cellForRowAtIndexPath' –