标签: pfrelation

在Swift中为Parse的PFRelation声明一个只读的@NSManaged属性

我在我的iOS应用程序中使用Parse对象存储,我为我的Parse对象创建了一个自定义子类,看起来有点像这样:

class MyThing: PFObject, PFSubclassing {

   // ...PFSubclassing protocol...

   @NSManaged var name: String
   @NSManaged var somethingElse: String
   @NSManaged var relatedThings: PFRelation

 }
Run Code Online (Sandbox Code Playgroud)

relatedThings属性有效:我可以从商店中获取相关对象.但是,我不断从Parse得到这个警告:

[Warning]: PFRelation properties are always readonly,
but MyApp.MyThing.relatedThings was declared otherwise.
Run Code Online (Sandbox Code Playgroud)

在Objective-C中,我可以轻松地将该属性标记为只读,但我不确定如何在Swift中将其作为静音警告.

使用let而不是与var不允许结合使用@NSManaged.

添加private(set)也没有影响:

@NSManaged private(set) var relatedThings: PFRelation
Run Code Online (Sandbox Code Playgroud)

那么Parse如何期望我宣布关系属性呢?

core-data ios parse-platform pfrelation swift

10
推荐指数
1
解决办法
1079
查看次数

'无法对类型进行比较查询:PFRelation'Swift

我正在尝试查询我的应用中用户尚未添加为"朋友"的所有现有用户.我收到了错误

无法对类型进行比较查询:PFRelation

这是我目前的代码:

 override func queryForTable() -> PFQuery {

    let currentFriends : PFRelation = PFUser.currentUser()!.relationForKey("friends")

    // Start the query object
    let query = PFQuery(className: "_User")
    query.whereKey("username", notEqualTo: currentFriends)

    // Add a where clause if there is a search criteria
    if UserInput.text != "" {
        query.whereKey("username", containsString: UserInput.text)
    }

    // Order the results
    query.orderByAscending("username")

    // Return the qwuery object
    return query
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?谢谢

parse-platform pfrelation swift

7
推荐指数
1
解决办法
223
查看次数

将对象添加到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];
Run Code Online (Sandbox Code Playgroud)

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

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];
Run Code Online (Sandbox Code Playgroud)

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

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

有人可以帮忙吗?

谢谢

xcode ios parse-platform pfrelation

6
推荐指数
1
解决办法
2070
查看次数

解析:PFRelation和本地数据存储的问题

我正在用Parse构建一个聊天应用程序.我有一个"对话"课和一个"消息"课.对话可以有许多消息(一对多)关系.

此外,我正在使用本地数据存储区来缓存对象(使用PFRelation进行对话和消息).一切正常,直到我尝试从服务器获取更新的对话.请注意,我只是在查询对话,因此不会获取新的消息对象(根据Parse的文档可以预期).但令人惊讶的是,我甚至看不到来自本地数据存储区的消息.

有没有人知道将PFRelations正确存储到本地数据存储区的方法?

parsing pfrelation pfobject

5
推荐指数
1
解决办法
317
查看次数

我应该使用指针数组还是PFRelation?(parse.com)

据我所知,您可能使用指针数组的唯一原因是保留排序,因为PFRelation实例不支持排序.否则,它们看起来行为相同,虽然PFRelation更具可伸缩性,并且还有一个漂亮的内置"查询"方法来限制查询仅限于PFRelation实例中的对象,这有时非常有用.

PFRelation *relation = ...
PFQuery *query = [relation query];
Run Code Online (Sandbox Code Playgroud)

上下文:我正在构建一个应用程序,其中每个PFUser实例都有很多TennisGame实例(可能是一个大数字),而TennisGame实例有很多PFUser实例(2或4,取决于它是单打游戏还是双打游戏).

问题:在parse.com上组织数据的最佳方法是什么?我正在考虑PFUser类(到TennisGame实例)中的PFRelation,以及我的TennisGame类(到PFUser实例)中的数组或2或4个指针.但我需要两者吗?如果没有,哪个最好?

scalability parse-platform pfrelation

3
推荐指数
1
解决办法
1458
查看次数

解析:当我只有PFUser时,如何使用PFRelation进行查询?

这是我想要做的一个例子.我有当前用户作为PFUser和另一个名为Item的类我有一个名为"所有者"的关系,它是PFUser的关系.我想查询具有关系中当前用户的Item的所有实例.

我看到了相反查询方式的示例,但我没有看到如何获得关系,然后将其过滤到关系上的PFUser匹配.这是一个例子.

https://www.parse.com/questions/inverse-relationship-support

PFObject老师= ... //班级"老师"的PFObject PFRelation studentsRelation = [老师relationforKey:@"学生"]; PFQuery*query = studentsRelation.query; [query findObjectsInBackground:...

对于我的例子,我会这样做......

PFObject item = [PFObject objectWithClassName:@"Item"];
PFRelation relation = [parseObject relationforKey:@"owner"]; // Filter to PFUser? 
[query findObjectsInBackground:...
Run Code Online (Sandbox Code Playgroud)

我可以使用whereKey,但我该怎么用?我是否在objectId上匹配?

[query whereKey:@"objectId" equalTo:user.objectId];
Run Code Online (Sandbox Code Playgroud)

我一直收到错误102:RelatedTo运算符需要一个有效的指针.我的猜测是,因为我从一个空对象开始,它没有起点.Teacher的示例必须以填充的实例开头.我唯一拥有的是PFUser.必须有一种方法来查询Item实例并在它拥有给当前用户的"所有者"关系上对其进行过滤.我无法弄清楚,我还没有找到如何进行此查询的示例.

这个问题也在Parse.com上:https://parse.com/questions/how-do-i-query-using-pfrelation-when-i-just-have-pfuser

parse-platform pfrelation pfquery

2
推荐指数
1
解决办法
4774
查看次数

计算PFRelation中的对象数

我有一个代表事件的自定义Parse类.该事件有3个PFRelation列,表示已被邀请参加活动的用户,已接受该活动的用户以及拒绝该活动的用户.

有没有办法计算每个PFRelation中的总人数而无需再次查询该课程?

ios parse-platform pfrelation

0
推荐指数
1
解决办法
810
查看次数