我正在为我的项目使用Parse SDK。它首先在PFQueryTableView中显示类别列表。在选择类别时,它还会在PFQueryTableView中显示与所选类别关联的子类别。此子类别类具有指向第一个Categories类的指针值。
在子类别视图中,我可以选择添加新的子类别。我想要做的是向子类别表添加一个新行,但将其链接到刚刚选择的Categories类。即将其链接到指针" Cat"在子类别表中。
PFObject *newWord = [PFObject objectWithClassName:@"words"];
newWord[@"word"] = self.wordTextField.text;
newWord[@"user"] = [PFUser currentUser];
newWord[@"Cat"] = @"Categories";
[newWord saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
} else {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error!"
message:[error.userInfo objectForKey:@"error"]
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
}
}];
我一直收到这个错误:
[Error]: invalid type for key Cat, expected *Categories, but got string (Code: 111, Version: 1.8.0)
任何人都知道问题是什么?或者我如何解决这个问题以链接到我表中的指针?
答案 0 :(得分:1)
正如@trojanfoe已经正确指出的那样,你传递了一个错误的对象。查询/写入指针时,需要传入指针而不是字符串。
这就是你的情况应该是这样的:
newWord[@"Cat"] = [PFObject objectWithoutDataWithClassName:@"Categories"
objectId:@"{ID_OF_THE_CATEGORY_OBJECT}"];
或者,如果您已在应用流程的那一点上拥有该类别的本地实例,则可以直接将 Cat 属性设置为此对象
newWord[@"Cat"] = myInstanceOfTheCategory;