【发布时间】:2015-05-08 17:49:11
【问题描述】:
我正在尝试存储来自查询的布尔数组,但该数组为空。
这是我所拥有的:
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: 的 Detail Table View Controller 中交叉引用它,如果它是新的,则在 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
【问题讨论】:
-
@LyndseyScott emailAddress, messageBody, objectId 是后端的字符串列类型。 messageRead 是 bool 列类型
-
您没有展示如何存储数组,只展示了如何检索它 - 但您不能存储 BOOL 数组,因为 BOOL 不是对象。您必须使用 NSNumber 对 BOOL 进行装箱/拆箱
-
是的,这就是@Paulw11 将对象存储在businessisNewArray 中的问题。我只是像这样将它们传递给 detailViewController: detailVC.isNew = self.businessisNewArray。 isNew 是 Detail View Controller 中的另一个 NSArray 属性。我将尝试研究并查看是否有任何关于将它们存储为 NSNumber 的在线信息。谢谢
-
等等...您的其他数组存储正常吗?
-
是的@LyndseyScott,唯一的问题是将布尔值存储到数组中,其他一切都很棒。
标签: ios xcode parse-platform boolean