0


我是 Parse.com BaaS 的初学者。
我正在考虑如何UITableViewCell从两个通过指针连接的表中显示一个数据。我有一个名为“PackageItems”的表,其中包含以下列:-objectId、packageId、productId、price。在名为“SIZES”的第二个表中,我存储具有以下属性的数据:objectId、packageItemsId、数量和 sizeTypeId。在名为“SIZE_TYPES”的第三个表中,我有一个名为:-objectId & typeName 的列。我通过 SIZES 表中的指针连接这三个表,如下所示: packageItemsId -> POINTER -> 目标类-> PACKAGE_ITEMS sizeTypeId -> POINTER -> 目标类 -> SIZE_TYPES

之后,我创建了一个查询,该查询返回通过指针 packageItemsId 连接到 PackageItems 的每个 Sizes 作为结果。

-(PFQuery *)queryForTable
{
    PFQuery *query = [PFQuery queryWithClassName:@"Size"];
    PFObject *packagedItem = [PFObject objectWithoutDataWithObjectId:@"SxtIpSJ64t"];
    [query whereKey:@"packageItemsId" equalTo:packagedItem];
}

在该cellForRowAtIndexPath方法中,我在如下所示的 Sizes 表中显示数量,UITextField并且我尝试从表 SIZE_TYPES 中显示 typeName

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object{
    static NSString *simpleTableIdentifier = @"PackageCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell==nil) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:simpleTableIdentifier];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        UILabel *sizeLabel = [[UILabel alloc]init];

        sizeLabel.text = @"HERE I WOULD LIKE TO DISPLAY VALUE OF SIZE TYPE"


        sizeLabel.frame = CGRectMake(20,5,50,34);
        [cell.contentView addSubview:sizeLabel];

        UITextField *quantityField = [[UITextField alloc]initWithFrame:CGRectMake(245, 5, 55, 34)];
        quantityField.borderStyle = UITextBorderStyleRoundedRect;
        quantityField.keyboardType = UIKeyboardTypeNumberPad;
        quantityField.textAlignment = NSTextAlignmentRight;
        quantityField.text = [object objectForKey:@"quantity"];
        [cell.contentView addSubview:quantityField];

        UILabel *quantityLabel = [[UILabel alloc]init];

        quantityLabel.textAlignment = NSTextAlignmentRight;
        quantityLabel.text = @"Quantity:";
        quantityLabel.frame = CGRectMake(170, 5, 70, 34);
        [cell.contentView addSubview:quantityLabel];


    }
    return cell;
}

我知道查询只能返回一个类的值。我还尝试创建返回 SIZE_TYPES 的第二种方法,但在我看来我做错了。我读过可以通过使用方法'include'来完成对两个表的收费,但不知道如何去做。我还听说过云代码。也许我应该使用关系并稍微更改我的数据库模式。请寻求任何明智的解决方案。

4

1 回答 1

0

在您的情况下,核心数据可能是您的最佳选择,请查看这一核心数据编程指南

然后你可以尝试使用 NSFetchRequest 和 NSPredicate 来查询数据库,这将

给你一个 NSArray 作为返回类型,然后你可以对结果进行排序并显示它们

索引。

于 2013-10-30T20:57:20.810 回答