PF Отношение с постом CurrentUser в TableView

Я использую Parse.com для извлечения необходимых мне данных из базы данных.

В моем табличном представлении у меня есть изображение, которое меняет цвет в соответствии с этим запросом, который вызывает отчет CurrentUser с отображаемыми сообщениями.

-(void)QueryForUpVote {
    PFQuery *QueryForUpVotePost = [PFQuery queryWithClassName:FF_POST_CLASS];
    [QueryForUpVotePost whereKey:@"UP_Vote" equalTo:[PFUser currentUser]];
    [QueryForUpVotePost findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {
            UpVoteCurrentUser = [[NSMutableArray alloc] init];
            for (PFObject *ObjectForUpVote in objects) {
                [UpVoteCurrentUser addObject:ObjectForUpVote];
            }
            [self.FFTableView reloadData];
        }
    }];
}

В Tableview я добавил это, чтобы убедиться, что если есть пост, который имеет отношение к CurrentUser (как своего рода социальные сети)

if ([[PFUser currentUser] objectForKey:@"UP_Vote"] ) {
            CellaIMG.MedalCount.image = [UIImage imageNamed:@"FFIMG_Medal_Blu"];
            CellaIMG.AddGoPoint.tag = indexPath.row;
            [CellaIMG.AddGoPoint addTarget:self action:@selector(AddGoPointAction:) forControlEvents:UIControlEventTouchUpInside];


        } else {
            CellaIMG.MedalCount.image = [UIImage imageNamed:@"FFIMG_Medal"];
            CellaIMG.AddGoPoint.tag = indexPath.row;
            [CellaIMG.AddGoPoint addTarget:self action:@selector(DecrementGoPoint:) forControlEvents:UIControlEventTouchUpInside];

        }

Моя текущая проблема заключается в том, что TableView не распознает отношения, в которых CurrentUser отображается с сообщением... Предоставленное мной изображение должно стать серым или синим, когда пользователь имеет определенные отношения с сообщением... Где я нахожусь? делать неправильно?

MutableArray используется в:

- (void)AddGoPointAction:(id)sender {  

    PFObject *AddGoPointToPost = [self.UpVoteCurrentUser objectAtIndex:[sender tag]];
    [AddGoPointToPost incrementKey:FF_POST_GOPOINTPOST byAmount:[NSNumber numberWithInt:1]];
    PFRelation *RelationForVote = [AddGoPointToPost relationforKey:@"UP_Vote"];
    [RelationForVote addObject:[PFUser currentUser]];
    [AddGoPointToPost saveInBackground];
    [self.FFTableView reloadData];
}

- (void)DecrementGoPoint:(id)sender {


    PFObject *AddGoPointToPost = [self.UpVoteCurrentUser objectAtIndex:[sender tag]];
    [AddGoPointToPost incrementKey:FF_POST_GOPOINTPOST byAmount:[NSNumber numberWithInt:-1]];
    PFRelation *RelationForVote = [AddGoPointToPost relationforKey:@"UP_Vote"];
    [RelationForVote removeObject:[PFUser currentUser]];
    [AddGoPointToPost saveInBackground];
    [self.FFTableView reloadData];
}

1 ответ

Решение

Изображения только одного цвета, потому что ваш тест:

if ([[PFUser currentUser] objectForKey:@"UP_Vote"] ) {

Только проверяет, есть ли у текущего пользователя upvote. Он ничего не делает, чтобы проверить, имеет ли его текущий пользователь отношение к "текущему" upvote (это будет в вашем массиве, используемом для заполнения табличного представления).

Вам нужно изменить логику, чтобы проверить отношения.

Другие вопросы по тегам