简体   繁体   English

C#(Xamarin iOS)如何在自定义UITableViewCell上循环子数据?

[英]C# (Xamarin iOS) How to loop son data on Custom UITableViewCell?

Any Help will be appreaciated :) Thank you in advance I tried to loop other object inside of the function and its working but on this, it can't loop. 任何帮助将不胜感激:)预先谢谢您,我试图在函数内部及其功能中循环其他对象,但是在此之上,它无法循环。 Help. 救命。 this is rush, and I'm not that familiar with creating iOS app. 这很着急,我对创建iOS应用并不熟悉。

public override void ViewDidLoad()
    {
        base.ViewDidLoad();



        using (var web = new WebClient())
        {
            var url = "http://www.creativeinterlace.com/smitten/maintenance/api/feeds/get-miss-location/101";
            json = web.DownloadString(url);

        }
        json = json.Replace("{\"location\":", "").Replace("}]}", "}]");
        var ls = JArray.Parse(json);
        if (ls.Count != 0)
        {

            foreach (var x in ls)
            {
                var name = x.SelectToken("location");
                 name1 = Convert.ToString(name);

                var loc = x.SelectToken("address");
                 loc1 = Convert.ToString(loc);

                var time = x.SelectToken("time_ago");
                 time1 = Convert.ToString(time);

              locations = new List<Locations>
                {

                   new Locations
                    {

                        shopname = name1,
                        address= loc1,
                        time = time1
                    },   
                };

            }

            nmtable.Source = new LocationSource(locations);
            nmtable.RowHeight = 60;
            nmtable.ReloadData();


        }

    }

You initialize the locations every time in the loop,so the list updates with only the newest object. 您每次在循环中都初始化位置,因此列表仅使用最新的对象进行更新。 You should initialize the list outside of the loop , and add object every time. 您应该在循环外初始化列表,并每次添加对象。

locations = new List<Locations>();

if (ls.Count != 0)
{
     foreach (var x in ls)
     {
           var name = x.SelectToken("location");
           name1 = Convert.ToString(name);

           var loc = x.SelectToken("address");
           loc1 = Convert.ToString(loc);

           var time = x.SelectToken("time_ago");
           time1 = Convert.ToString(time);

           locations.Add(new Locations{ shopname = name1,address= loc1,time = time1});
     };

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM