我想将Pins中的一个Class子类化为其他类的指针。
这是我的班级:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Parse;
using System.Threading.Tasks;
[ParseClassName("UserCars")] public class UserCars : ParseObject {
[ParseFieldName("car")]
public Car car
{
get { return GetProperty<Car>("car"); }
set { SetProperty<Car>(value, "car"); }
}
[ParseFieldName("isBumpers")]
public bool isBumpers
{
get { return GetProperty<bool>("isBumpers"); }
set { SetProperty<bool>(value, "isBumpers"); }
}
当我执行此查询时,isBumpers
会返回准确的bool值,但car
始终为null:
var query = new ParseQuery<UserCars>();
query.WhereEqualTo("user", ParseUser.CurrentUser);
query.FindAsync().ContinueWith(t =>
{
IEnumerable<UserCars> userCars = t.Result;
foreach (UserCars u in userCars)
{
Debug.Log(u.car);
}
});
我尝试添加此内容而不做任何更改:
IEnumerable<UserCars> userCars = t.Result;
foreach (UserCars u in userCars)
{
Task<Car> fCar = u.car.FetchIfNeededAsync();
Debug.Log(u.car);
}
我错过了什么?
答案 0 :(得分:1)
fCar是一个任务,所以基本上你应该等待它完成。
请尝试改写:
foreach (UserCars u in userCars )
{
u.car.FetchIfNeededAsync().ContinueWith(result =>
{
Debug.Log(u.car);
};
}
这将确保您等待正确获取数据。