【发布时间】:2014-07-30 11:48:04
【问题描述】:
我在 Parse 中创建了许多用户。有 Facebook 用户和非 Facebook 用户。对于每个 Facebook 用户,我都保存了一个额外的“facebookID”列。
现在我想获取所有 Facebook 用户的 ParseUser。所以我应用了一个任务来查询其中包含“facebookID”的用户。
var Task = ParseUser.Query.WhereExists("facebookID").FindAsync().ContinueWith(t=>{
if (t.IsFaulted || t.IsCanceled) {
Debug.Log ("t.Exception=" + t.Exception);
//cannot load friendlist
return;
}
else{
fbFriends = t.Result;
foreach(var result in fbFriends){
string id = (string)result["facebookID"];
//facebookUserIDList is a List<string>
facebookUserIDList.Add(id);
}
return;
}
});
上面的代码完美运行。但是,我想从每个 Facebook 用户那里获取更多数据,例如用户拥有的 current_coins。所以我将 foreach 循环更改为:
foreach(var result in fbFriends){
string id = (string)result["facebookID"];
int coins = (int)result["current_coins"];
//facebookUserIDList is a List<string>
facebookUserIDList.Add(id);
}
我已将 facebookUserIDList 更改为 List<Dictionary<string,object>> 而不是 List<string>,以便同时保存其他数据。但是 foreach 循环根本不运行。这是否意味着我只能从中获取facebookID,因为我在FindAsync() 中指定了WhereExists("facebookID")?谁能给我解释一下?
非常感谢您。
【问题讨论】:
标签: list unity3d parse-platform ienumerable facebook-unity-sdk