从Parse.ParseObject获取objectId

时间:2014-02-23 12:40:55

标签: c# unity3d parse-platform

我试图弄清楚如何从查询中获取objectId。我想要完成的是,我想知道我的班级中是否存在具有特定用户名和密码的对象,如果是,请获取objectId并将其保存在我的Unity游戏中!

以下是我试图这样做而没有运气:

void OnClick(){

        PrimeAI.ShowSpinner();
        LoginUsername = GameObject.Find("UsernameLogin").GetComponent<UIInput>().value;
        LoginPassword = GameObject.Find("PasswordLogin").GetComponent<UIInput>().value;

        var query = ParseObject.GetQuery("Players")
            .WhereEqualTo("playername", LoginUsername)
            .WhereEqualTo("password", Constant.Md5Sum(LoginPassword));
        query.CountAsync().ContinueWith(t => {
            int count = t.Result;
            if(count == 1){
                GetUserData(LoginUsername);
            } else {
                LoginError = true;
            }   
        });

    }

    public void GetUserData(string UserName){

        var query = ParseObject.GetQuery("Players")
            .WhereEqualTo("playername", UserName);
        query.FindAsync().ContinueWith(t => {

            IEnumerable<ParseObject> results = t.Result;

            OnlyOnce = true;

            foreach (var result in results) {
                print("Here: "+result["objectId"]);
            }

        });

    }

直到foreach循环才能正常工作......我怎样才能完成这个以及我做错了什么?

感谢任何帮助: - )

2 个答案:

答案 0 :(得分:0)

执行查找而不是CountAsync。然后只需从返回的对象中访问objectID。如果您担心在不需要时移动整个对象,请使用selectKeys仅选择所需的属性。

-Bob

答案 1 :(得分:0)

foreach (var result in results) {
    print("Here: "+ result.objectId);
}