如何使用两个单元格标识符来排序数据?

时间:2014-02-12 08:33:10

标签: ios uitableview parse-platform

com文档,我使用PFQueryForTable方法和两个不同的tableViewCells来对我的解析对象放入单元格时进行排序。我正在这样做,所以当对象返回一个空白字符串时,我可以将其高度降低到0.不幸的是,当我这样做时,它不会像我想的那样运行并且空白单元格被加载到第一个第一个单元格中,而不是那个我想减少高度。

我的cellForRowAtIndexPath看起来像:

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

    BOOL blank = [[[object objectForKey:@"post"] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] isEqualToString:@""];

    static NSString *CellIdentifier = @"Cell";
    static NSString *Cell2Identifier = @"Cell2";

    if (!blank) {

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
        }

        UILabel *label;
        label = (UILabel *)[cell viewWithTag:1];
        label.text = [object objectForKey:@"post"]; //[object objectForKey:@"post"];
        label.textAlignment = NSTextAlignmentCenter;

        NSLog(@"posted cell");

        return cell;       
    }
    else {
        UITableViewCell *cell2 = [tableView dequeueReusableCellWithIdentifier:Cell2Identifier forIndexPath:indexPath];

        if (cell2 == nil) {
            cell2 = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Cell2Identifier];
        }

        cell2.textLabel.text = [object objectForKey:@"post"];

        NSLog(@"posted cell2");

        return cell2;
    }
}

有人可以指出我正确的方向吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

好的,从您的评论中,您当前正在创建这样的查询...

- (PFQuery *)theQuery
{
    PFQuery *posts = [PFUser query];
    [posts whereKey:@"location" nearGeoPoint:self.myLocation withinKilometers:10.0];
    [posts includeKey:self.textKey];
    return posts;
}

所以你需要做的就是为它添加另一个条件......

[posts whereKey:@"theText" notEqualTo:@""];

这将阻止发送空白文本帖子。