我在视图控制器cellForRowAtIndex:
中有此查询:
PFQuery *query = [PFUser query];
[query whereKey:@"objectId" equalTo:object[@"creator"]];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
if (object) {
PFFile *file = [object objectForKey:@"profileImg"];
cell.avatar.file = file;
[cell.avatar loadInBackground];
}
}];
我想将此方法移到我的自定义单元格类中,是否可能以某种方式?我试图将它(经过一些修改)移动到我的单元格的.m文件中,但是我无法从中创建一个类方法。
-(void) setupAvatar:(PFUser *)object {
PFQuery *query = [PFUser query];
[query whereKey:@"objectId" equalTo:object[@"creator"]];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
if (object) {
PFFile *file = [object objectForKey:@"profileImg"];
self.avatar.file = file;
[self.avatar loadInBackground];
}
}];
}
我该如何解决这个问题?在单元格的课堂上进行查询是完全错误的还是没问题,但我做错了吗?如果有人能以正确的方式向我展示,我真的很感激。
答案 0 :(得分:0)
如果你可以提供帮助,我会尽量避免在细胞子类中做这项工作,因为它打破了MVC模式。没有充分的理由让人知道Parse,这是一个模特的工作。如果可能的话,我会尝试为您的表视图控制器充实数据源类,并为您的图像询问。我也非常担心在cellForRowAtIndexPath中进行这样的调用,特别是因为它不是同步的。我打赌你会遇到一些非常奇怪的细胞再利用错误,因为这种方法会经常运行,并且不能保证知道什么时候会返回 - 你的细胞图像可能会自己开始改变并展示一个很多其他奇怪的行为。