团结|从子类中获取解析关系数据

时间:2016-01-09 21:22:17

标签: c# ios parse-platform unity3d

当我尝试从Subclass parse对象中查询时,我遇到了 GetRelation问题。它在Unity编辑器中正常工作,但我收到错误" InvalidCastException:无法转换类型' Job'输入' ParseUser' "当我尝试在iOS设备上运行应用程序时,在foreach上。

使用RegisterSubclass()正确设置子类,并且我可以在获取时访问该Job子类的所有数据。 (获取指针数据也正常工作)

知道为什么它在iOS上遇到此错误?我使用Unity 5.2.1f1和Parse 1.6.2

更新:显然它适用于非il2cpp版本。

var jobsRelation = ParseUser.CurrentUser.GetRelation<ParseObject>("jobs");
var q = jobsRelation.Query;     
var t = q.FindAsync();

while (!t.IsCompleted) {
    yield return 0;
}

if (t.IsFaulted || t.IsCanceled) {
    Debug.Log (query.Exception);
} else {
    Debug.Log ("Got list of jobs" );

    IEnumerable<ParseObject> relatedObjects = t.Result;

    foreach (var entry in relatedObjects) { //loop through jobs
        if(entry==null) Debug.Log ("entry is null. something is wrong");
        Debug.Log(entry.ClassName + " id: " + entry.ObjectId);

        var reference= ParseObject.CreateWithoutData<Job>(entry.ObjectId);
        var fetchtask = reference.FetchAsync(); //fetch job data
        while (!fetchtask.IsCompleted) {yield return null;}  //wait on parse

        //query "people" relation of a Job
        ParseQuery<ParseUser> peopleQuery= reference.GetRelation<ParseUser>("people").Query;
        Task<IEnumerable<ParseUser>> peopleTask= peopleQuery.FindAsync();

        while(!peopleTask.IsCompleted){ yield return 0;}

        IEnumerable<ParseUser> result = peopleTask.Result;

        foreach( ParseUser _user in result ){ //<--- ERROR HERE
            //do stuff with _user
        }   
    }
}

0 个答案:

没有答案