C# Instagram至TableView,带RestSharp
您好,我正在尝试使用Xamarin.iOS将Instagram订阅源中的个人姓名加载到UITableView。但是,它仅显示类的名称,如您在此处所见: 以下是我的请求,我正在使用它来尝试获取instagram订阅源:C# Instagram至TableView,带RestSharp,c#,ios,objective-c,uitableview,xamarin,C#,Ios,Objective C,Uitableview,Xamarin,您好,我正在尝试使用Xamarin.iOS将Instagram订阅源中的个人姓名加载到UITableView。但是,它仅显示类的名称,如您在此处所见: 以下是我的请求,我正在使用它来尝试获取instagram订阅源: var request = new RestRequest {RootElement = "data", Resource = "/users/self/feed"}; request.AddParameter("access_token", instag
var request = new RestRequest {RootElement = "data", Resource = "/users/self/feed"};
request.AddParameter("access_token", instagramAccessToken);
var client = new RestClient ("https://api.instagram.com/v1");
client.ExecuteAsync<List<RootObject>>(request, response => {
Console.WriteLine(response.Content);
Console.WriteLine(response.Data);
InvokeOnMainThread(delegate {
// pass the data to the TableSource class
((TableSource<RootObject>)table.Source).Data = response.Data;
// make the TableView reload the data
table.ReloadData();
});
});
var request=new RestRequest{RootElement=“data”,Resource=“/users/self/feed”};
request.AddParameter(“访问令牌”,instagramAccessToken);
var client=新的RestClient(“https://api.instagram.com/v1");
client.ExecuteAsync(请求、响应=>{
Console.WriteLine(response.Content);
Console.WriteLine(response.Data);
调用主线程(委托{
//将数据传递给TableSource类
((TableSource)table.Source).Data=response.Data;
//使TableView重新加载数据
table.ReloadData();
});
});
以下是传入Instagram提要的类文件:
public class Pagination
{
public string next_url { get; set; }
public string next_max_id { get; set; }
}
public class Meta
{
public int code { get; set; }
}
public class Location
{
public double latitude { get; set; }
public double longitude { get; set; }
public string name { get; set; }
public int? id { get; set; }
}
public class Comments
{
public int count { get; set; }
public List<object> data { get; set; }
}
public class Datum2
{
public string username { get; set; }
public string profile_picture { get; set; }
public string id { get; set; }
public string full_name { get; set; }
}
public class Likes
{
public int count { get; set; }
public List<Datum2> data { get; set; }
}
public class LowResolution
{
public string url { get; set; }
public int width { get; set; }
public int height { get; set; }
}
public class Thumbnail
{
public string url { get; set; }
public int width { get; set; }
public int height { get; set; }
}
public class StandardResolution
{
public string url { get; set; }
public int width { get; set; }
public int height { get; set; }
}
public class Images
{
public LowResolution low_resolution { get; set; }
public Thumbnail thumbnail { get; set; }
public StandardResolution standard_resolution { get; set; }
}
public class From
{
public string username { get; set; }
public string profile_picture { get; set; }
public string id { get; set; }
public string full_name { get; set; }
}
public class Caption
{
public string created_time { get; set; }
public string text { get; set; }
public From from { get; set; }
public string id { get; set; }
}
public class User
{
public string username { get; set; }
public string website { get; set; }
public string profile_picture { get; set; }
public string full_name { get; set; }
public string bio { get; set; }
public string id { get; set; }
public override string ToString ()
{
return string.Format ("[User: username={0}, website={1}, profile_picture={2}, full_name={3}, bio={4}, id={5}]", username, website, profile_picture, full_name, bio, id);
}
}
public class LowResolution2
{
public string url { get; set; }
public int width { get; set; }
public int height { get; set; }
}
public class StandardResolution2
{
public string url { get; set; }
public int width { get; set; }
public int height { get; set; }
}
public class Videos
{
public LowResolution2 low_resolution { get; set; }
public StandardResolution2 standard_resolution { get; set; }
}
public class Datum
{
public object attribution { get; set; }
public List<object> tags { get; set; }
public string type { get; set; }
public Location location { get; set; }
public Comments comments { get; set; }
public string filter { get; set; }
public string created_time { get; set; }
public string link { get; set; }
public Likes likes { get; set; }
public Images images { get; set; }
public List<object> users_in_photo { get; set; }
public Caption caption { get; set; }
public bool user_has_liked { get; set; }
public string id { get; set; }
public User user { get; set; }
public Videos videos { get; set; }
}
public class RootObject
{
public Pagination pagination { get; set; }
public Meta meta { get; set; }
public List<Datum> data { get; set; }
}
公共类分页
{
公共字符串next_url{get;set;}
公共字符串next_max_id{get;set;}
}
公共类元
{
公共整数代码{get;set;}
}
公共类位置
{
公共双纬度{get;set;}
公共双经度{get;set;}
公共字符串名称{get;set;}
公共int?id{get;set;}
}
公开课评论
{
公共整数计数{get;set;}
公共列表数据{get;set;}
}
公共类数据2
{
公共字符串用户名{get;set;}
公共字符串配置文件\u图片{get;set;}
公共字符串id{get;set;}
公共字符串全名{get;set;}
}
公众阶级喜欢
{
公共整数计数{get;set;}
公共列表数据{get;set;}
}
公共类低分辨率
{
公共字符串url{get;set;}
公共整数宽度{get;set;}
公共整数高度{get;set;}
}
公共类缩略图
{
公共字符串url{get;set;}
公共整数宽度{get;set;}
公共整数高度{get;set;}
}
公共类标准解析
{
公共字符串url{get;set;}
公共整数宽度{get;set;}
公共整数高度{get;set;}
}
公众阶级形象
{
公共低分辨率低分辨率{get;set;}
公共缩略图{get;set;}
公共标准解析标准_解析{get;set;}
}
公共课
{
公共字符串用户名{get;set;}
公共字符串配置文件\u图片{get;set;}
公共字符串id{get;set;}
公共字符串全名{get;set;}
}
公共类标题
{
创建的公共字符串\u time{get;set;}
公共字符串文本{get;set;}
来自{get;set;}的公共
公共字符串id{get;set;}
}
公共类用户
{
公共字符串用户名{get;set;}
公共字符串网站{get;set;}
公共字符串配置文件\u图片{get;set;}
公共字符串全名{get;set;}
公共字符串bio{get;set;}
公共字符串id{get;set;}
公共重写字符串ToString()
{
返回string.Format(“[User:username={0},website={1},profile\u picture={2},full\u name={3},bio={4},id={5}]”,用户名,website,profile\u picture,full\u name,bio,id);
}
}
公共类低分辨率2
{
公共字符串url{get;set;}
公共整数宽度{get;set;}
公共整数高度{get;set;}
}
公共类标准解决方案2
{
公共字符串url{get;set;}
公共整数宽度{get;set;}
公共整数高度{get;set;}
}
公开课视频
{
公共低分辨率2低分辨率{get;set;}
公共标准解析2标准_解析{get;set;}
}
公共类数据
{
公共对象属性{get;set;}
公共列表标记{get;set;}
公共字符串类型{get;set;}
公共位置位置{get;set;}
公共评论{get;set;}
公共字符串筛选器{get;set;}
创建的公共字符串\u time{get;set;}
公共字符串链接{get;set;}
公众喜欢{get;set;}
公共图像图像{get;set;}
公共列表用户在照片{get;set;}
公共标题标题{get;set;}
公共bool用户_喜欢{get;set;}
公共字符串id{get;set;}
公共用户{get;set;}
公共视频{get;set;}
}
公共类根对象
{
公共分页分页{get;set;}
公共元{get;set;}
公共列表数据{get;set;}
}
以下是TableSource类下的getCell方法:
public class TableSource<RootObject> : UITableViewSource
{
public List<RootObject> Data { get; set; }
protected string cellIdentifier = "TableCell";
public TableSource ()
{
Data = new List<RootObject> ();
}
public TableSource(List<RootObject> data)
{
Data = data;
}
public override int RowsInSection (UITableView tableview, int section)
{
if (Data == null) {
return 0;
} else {
return Data.Count;
}
}
public override UITableViewCell GetCell (UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath)
{
// request a recycled cell to save memory
UITableViewCell cell = tableView.DequeueReusableCell (cellIdentifier);
// if there are no cells to reuse, create a new one
if (cell == null)
cell = new UITableViewCell (UITableViewCellStyle.Default, cellIdentifier);
cell.TextLabel.Text = Data[indexPath.Row].data[0].user.username;
return cell;
}
}
公共类表源:UITableViewSource
{
公共列表数据{get;set;}
受保护的字符串cellIdentifier=“TableCell”;
公共表源()
{
数据=新列表();
}
公共表源(列表数据)
{
数据=数据;
}
公共覆盖int RowsInSection(UITableView表格视图,int section)
{
如果(数据==null){
返回0;
}否则{
返回数据。计数;
}
}
公共覆盖UITableViewCell GetCell(UITababVIEW TabLVIEW,MyLux.Posial.NSIXDEXPATH索引路径)
{
//请求回收单元以节省内存
UITableViewCell单元=tableView.DequeueReusableCell(单元标识符);
//如果没有可重用的单元,请创建一个新单元
if(单元格==null)
单元格=新的UITableViewCell(UITableViewCellStyle.Default,cellIdentifier);
cell.Tex
cell.TextLabel.Text = Data[indexPath.Row].data[0].user.username;
public class Datum
{
...
override ToString()
{
return this.User.ToString();
}
}