Ios Parse.com--从第二个类/对象添加值
所以我使用Parse.com和他们的AnyPic应用程序作为起点。这是Instagram的克隆版。然而,与Instagram不同的是,主页上不包括对图片的评论。你必须点击图片,它会显示一个带有命令的DetailsVC。这是我试图改变的第一件事 一般来说,我不熟悉解析和后端,在尝试修改查询以返回注释时遇到了问题。如果您使用过AnyPic,您知道注释不会保存在Photo类中,而是保存在单独的Activity类中: Activity.type将等于comment,Activity.content将是注释文本 因此,AnyPic子类Parse的PFQueryTableViewController中的VCs将覆盖queryForTable方法以获取数据。以下是他们的AccountVC的queryForTable,它只返回照片:Ios Parse.com--从第二个类/对象添加值,ios,parse-platform,Ios,Parse Platform,所以我使用Parse.com和他们的AnyPic应用程序作为起点。这是Instagram的克隆版。然而,与Instagram不同的是,主页上不包括对图片的评论。你必须点击图片,它会显示一个带有命令的DetailsVC。这是我试图改变的第一件事 一般来说,我不熟悉解析和后端,在尝试修改查询以返回注释时遇到了问题。如果您使用过AnyPic,您知道注释不会保存在Photo类中,而是保存在单独的Activity类中: Activity.type将等于comment,Activity.content将是注
- (PFQuery *)queryForTable {
if (!self.user) {
PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];
[query setLimit:0];
return query;
}
PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];
query.cachePolicy = kPFCachePolicyNetworkOnly;
if (self.objects.count == 0) {
query.cachePolicy = kPFCachePolicyCacheThenNetwork;
}
[query whereKey:kPAPPhotoUserKey equalTo:self.user];
[query orderByDescending:@"createdAt"];
[query includeKey:kPAPPhotoUserKey];
return query;
}
以及DetailsVC的queryForTable,它将返回self.photo中传递给它的照片对象的注释:
我只是不知道如何将两个查询合并为一个查询,并让它返回附加了注释值的照片对象
我曾想在tableView:numberOfRowsInSection:once queryForTable返回一组照片中对注释运行一个单独的查询,但我认为最好让Parse的queryForTable处理它,以防出现一些可能有用的缓存。两个单独的查询有什么问题?首先获取图像,然后获取该图像的评论?@MarcusAdams。有两个原因。首先,更实际的是,我希望将表的查询保持在queryForTable中,以便表的刷新仍能在注释上工作。我不确定我是否正确地认为这是一个问题。第二,由于我正试图学习如何使用Parse进行查询,而我在第一次尝试查询时遇到了困难,所以我也只想看看这个查询是如何编写的。
- (PFQuery *)queryForTable {
PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];
[query whereKey:kPAPActivityPhotoKey equalTo:self.photo];
[query includeKey:kPAPActivityFromUserKey];
[query whereKey:kPAPActivityTypeKey equalTo:kPAPActivityTypeComment];
[query orderByAscending:@"createdAt"];
[query setCachePolicy:kPFCachePolicyNetworkOnly];
// If no objects are loaded in memory, we look to the cache first to fill the table
// and then subsequently do a query against the network.
//
// If there is no network connection, we will hit the cache first.
if (self.objects.count == 0 || ![[UIApplication sharedApplication].delegate performSelector:@selector(isParseReachable)]) {
[query setCachePolicy:kPFCachePolicyCacheThenNetwork];
}
return query;
}