当我尝试从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
}
}
}