Parse.com商店一组布尔值

时间:2015-03-07 01:30:16

标签: ios xcode parse-platform boolean

我正在尝试从查询中存储一组布尔值但是为数组获取null。

这就是我所拥有的:

PFQuery *businessInquiry = [PFQuery queryWithClassName:@"BusinessInquiry"];
businessInquiry.cachePolicy = kPFCachePolicyIgnoreCache;
[businessInquiry selectKeys:@[@"messageBody", @"emailAddress"]];
[businessInquiry orderByDescending:@"createdAt"];
[businessInquiry findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    self.businessInquiryEmailArray = [objects valueForKey:@"emailAddress"];
    self.businessInquiryMessageArray = [objects valueForKey:@"messageBody"];
    self.businessInquiryObjIdArray = [objects valueForKey:@"objectId"];
    self.businessisNewArray = [objects valueForKey:@"messageRead"]; //this column is a BOOL column in parse backend but it returns null
}];

我的目标是在cellForRowAtIndexPath:中的详细信息表视图控制器中交叉引用它,如果它是新的,请在cell.imageView.image插槽中添加一个图标,以便在视觉上指示它是新的:

if ([self.isNew objectAtIndexPath:indexPath.row] == FALSE) {
    //New message
} else {
    //Read
}

为什么不存储值?

我也尝试过:

self.businessiSNewArray = [[objects valueForKey:@"messageRead"] boolValue];

但这也不起作用。有什么建议吗?

修改

我将数组传递给详细视图控制器,如下所示:

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
DetailTableViewController *detailVC = [storyboard instantiateViewControllerWithIdentifier:@"DetailTableViewController"];
detailVC.emailAddressArray = self.businessInquiryEmailArray;
detailVC.messageBodyArray = self.businessInquiryMessageArray;
detailVC.objIds = self.businessInquiryObjID;
detailVC.isNew = self.businessisNewArray;
detailVC.title = @"Business Inquiries";
[self.navigationController pushViewController:detailVC animated:YES];
}

除了布尔值之外,一切都在DetailVC标题中的各自属性中划分。它们返回null

1 个答案:

答案 0 :(得分:1)

这个问题与保罗所说的有关,但不是。是的,您可以将它们作为数字包装但在您的环境中无关紧要。

问题就是其中一个问题,如果你知道它是什么,你就会在额头上拍打自己,然后说,哦,嗯!

简单地说,你已经限制你的查询不包括messageRead列类型,忽略它是什么类型的列,它可以是任何东西(字符串,数字等),但事实上你已经限制它< em>在&#39; selectKeys中排除:`这就是为什么它返回null:

  

selectKeys:使查询限制返回的PFObjects的字段仅包含提供的键。

参考: https://parse.com/docs/ios/api/Classes/PFQuery.html#//api/name/selectKeys

只是一个简单的忽视。如果这些是后端中类中唯一的3列,则实际上不需要使用selectKeys:,因为它将返回所有对象,而您只是将它们传递给可循环使用的数组。