2

我正在尝试使用 xamarin/monotouch 获取朋友列表。

这就是我所做的:

if (FBSession.ActiveSession.IsOpen) {
            FBRequestConnection.StartWithGraphPath("me/friends?fields=id,name,picture,installed",(connection, result, error) => 
            {
                if (error == null) 
                {

                }
            });
        }

我得到了结果对象,我可以使用以下方法提取数据:

result.ValueForKey (new NSString ("data"))

我的问题是如何将这些数据解析为用户对象?通常我会得到我解析的 Json 响应。使用结果对象执行此操作的正确方法是什么?

谢谢!

4

1 回答 1

3

这是一个对我有用的例子:

var list = new List<FacebookFriend>();
var graphObject = result as FBGraphObject;

using (var array = (NSMutableArray)graphObject[new NSString("data")])
{
    for (uint i = 0; i < array.Count; i++)
    {
        using (var friend = new NSDictionary(array.ValueAt (i)))
        {
            friends.Add (new FacebookFriend
            {
                ID = friend.ObjectForKey (new NSString ("uid")).ToString (),
                Name = friend.ObjectForKey (new NSString ("name")).ToString (),
            });
        }
    }
}

这是图形请求的回调内部。

FacebookFriend只是一个具有我正在使用的 2 个属性的简单类。

于 2013-03-16T17:57:16.540 回答