Parse.com:在TableViewCell中检索布尔值

时间:2013-10-19 18:29:51

标签: ios uitableview parse-platform

Parse.com我在我的项目中使用。 在我的视图控制器中,我有一个搜索栏,它从一个类中获取数据,该类与我需要的布尔值不同。

简而言之,每个单元格都包含一个按钮,当按下该按钮时,该按钮将创建一个布尔值,如上所述,该布尔值位于与主查询不同的另一个类中。

为了帮助您理解:

搜索栏从“_USER”类中获取数据,其中所有驻留注册用户应用

该按钮用于在“朋友”类

中创建一个布尔值

我无法连接这两个动作......

我做了一些测试但是我无法得到我想要的结果..你能解释一下我怎么做才能解决这个问题吗?我不明白我的错误在哪里

这里我展示了查询和cellForRowAtIndexPath

- (Void) { retrieveFromParse
   
 
    PFQuery retrievePets * = [ PFQuery queryWithClassName : FF_USER_CLASS ] ;
    [ retrievePets orderByAscending : FF_USER_NOMECOGNOME ] ;
    
    [ retrievePets findObjectsInBackgroundWithBlock : ^ ( NSArray * objects , NSError * error ) {
        if ( error) {
            NSLog ( @ "% @ " , objects) ;
            allObjects = [ [ NSMutableArray alloc ] init ] ;
            for ( PFObject * object in objects) {
                [ allObjects addObject : object ] ;
                
            }
            
        }
        [ self.FFTableViewFindUser reloadData ] ;
    } ] ;
}






- ( UITableViewCell * ) tableView : ( UITableView * ) tableView cellForRowAtIndexPath : ( NSIndexPath * ) indexPath {
    static NSString * CellIdentifier = @ " CellFindUser " ;
    
    
    FFCellFindUser * cell = [ self.FFTableViewFindUser dequeueReusableCellWithIdentifier : CellIdentifier ] ;
    if ( cell) {
        cell = [ [ FFCellFindUser alloc ] initWithStyle : reuseIdentifier UITableViewCellStyleDefault : CellIdentifier ] ;
    }
    
    
       if (! isFiltered ) {
        
        
        PFObject * object = [ allObjects objectAtIndex : indexPath.row ] ;
        NSString * str = [object objectForKey : FF_USER_NOMECOGNOME ] ;

        cell.FFLabelCell_NomeCognome.text = str ;
        
        
        cell.FFIMGCell_FotoProfilo.image = [ UIImage imageNamed : @ " FFIMG_Camera "] ;
        [ cell.FFIMGCell_FotoProfilo.layer setMasksToBounds : YES] ;
        [ cell.FFIMGCell_FotoProfilo.layer setCornerRadius : 22.5f ] ;
        cell.FFIMGCell_FotoProfilo.file = [object objectForKey : FF_USER_FOTOPROFILO ] ;
        [ cell.FFIMGCell_FotoProfilo loadInBackground ] ;
        
       / / Cell.FFUserButton.tag = indexPath.row ;
       / / [ Cell.FFUserButton addTarget : self action: @ selector ( FFInviaRichiestaAmicizia :)
         / / ForControlEvents : UIControlEventTouchUpInside ] ;
          
           

/ / HERE I AM RECALLING THE BOOLEAN VALUE CLASS FRIENDSHIPS
         
  if ( [ [object objectForKey : @ " RICHIESTA_IN_ATTESA "] boolValue ] ) {
               
               [ cell.FFUserButton setHidden : YES] ;
           Else { }
               [ cell.FFUserButton setHidden : NO] ;
           }

}

1 个答案:

答案 0 :(得分:3)

使用

以错误的方式解决问题
if ( [ [object objectForKey : @ " RICHIESTA_IN_ATTESA "] boolValue ] )

因为这意味着用户需要知道他们是否是当前用户的朋友。这是错误的方式。您当前的用户应该有一个当前朋友的列表(Parse中的对象ID或关系数组)。您的表视图控制器也应该有权访问当前用户。然后,编写代码以显示/隐藏按钮:

注意:currentUserFriends是根据当前用户的关系/信息构建的用户对象ID数组

[cell.FFUserButton setHidden:([currentUserFriends containsObject: object.objectId])];