微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 将对象添加到PFRelation时出错,这是怎么做到的?

我试图解析PFRelation的问题.我有一个名为“girlBio”的课程,它存储有关女孩的信息,还有一个名为“stuff”的课程,用于存储有关项目的信息.代码如下:
PFObject *item = [PFObject objectWithClassName:@"stuff"];
item[@"Name"] = @"ps3";
PFObject *girl = [PFObject objectWithClassName:@"girlBio"];
girl[@"Name"] = @"Jessica";
PFObject *girl2 = [PFObject objectWithClassName:@"girlBio"];
girl2[@"Name"] = @"Cindy";

PFRelation *relation = [item relationForKey:@"owners"];
[relation addobject:girl];
[relation addobject:girl2];
[item saveInBackground];

———————————更新也试过这个————- ————

PFObject *item = [PFObject objectWithClassName:@"stuff"];
item[@"Name"] = @"ps3";
PFObject *girl = [PFObject objectWithClassName:@"girlBio"];
girl[@"Name"] = @"Jessica";
[item saveInBackground];
[girl saveInBackground];
PFRelation *relation = [item relationForKey:@"owners"];
[relation addobject:girl];
[item saveInBackground];

所以我希望这个项目由几个女孩拥有,但是当我运行该程序时,我收到此错误

错误:无法向关系添加非指针(代码:111,版本:1.6.0)

有人可以帮忙吗?

谢谢

解决方法

在保存关系之前,您需要保存对象girl1和girl2.否则,即使您的本地副本知道它们,服务器也不会.

UPDATE

在保存关系之前,还需要确保girl1和girl2的保存以及项目完成.但是,您可能不希望在主线程上运行这些保存,因此我建议这样的(我刚刚运行时没有问题):

dispatch_async(dispatch_get_main_queue(),^{
    PFObject *item = [PFObject objectWithClassName:@"stuff"];
    item[@"Name"] = @"ps3";
    PFObject *girl = [PFObject objectWithClassName:@"girlBio"];
    girl[@"Name"] = @"Jessica";
    [item save];
    [girl save];
    PFRelation *relation = [item relationForKey:@"owners"];
    [relation addobject:girl];
    [item saveInBackgroundWithBlock:^(BOOL succeeded,NSError *error) {
        //Do something after the last save...
    }];
});

原文地址:https://www.jb51.cc/iOS/327820.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐