如何在iOS中使用UISegmentedControl过滤json数据

时间:2014-06-19 06:46:46

标签: ios objective-c json nsdateformatter uisegmentedcontrol

我是iOS应用程序开发人员。我需要使用的JSON响应可在http://pastie.org/9304213获得。使用这个我想过滤数据,以便在我的UISegmentcontrol中使用3个按钮。即1.第2周。第3周。

- >如果我点击日期段控件,它会在UITableview控制器中显示今天的数据。

- >如果我点击周段控件,它会在UITableview控制器中显示当前周数据。

- >如果我点击月份段控件,它会在UITableview控制器中显示当前月份数据。

我是iOS编程新手。请指导。

1 个答案:

答案 0 :(得分:0)

这可能会对你有所帮助。要获取和解析JSON数据,您可以在Controller .m文件中使用它。但请检查您的服务器是否以适当的格式向您发送JSON。 JSON应该从' ['或者' {'。

NSURL *url=[NSURL URLWithString:@"yourServiceURL"];
NSData *response = [NSData dataWithContentsOfURL:url];
NSError *error;
NSDictionary *jsonArray = [NSJSONSerialization JSONObjectWithData:response options: NSJSONReadingMutableContainers error: &error];

现在您已将数据存储在NSDictionary对象中,并且可以使用objectForKeyvalueForKey函数提取特定数据,如下所示:

_array = [jsonArray valueForKey:@"keyField"];

现在,如果你想在3个开关值之间切换,你可以试试这样的事情。

-(IBAction)segmentChanged:(id)sender
{
    if ([_segmentControl selectedSegmentIndex]==0)
    {
        //your Code
    }
    else if ([_segmentControl selectedSegmentIndex]==1)
    {
        //your Code
    }
    else 
    {
        //your Code
    }
}

您必须将此事件与valueChanged的{​​{1}}事件相关联。当您点击任何细分值时,这将完成其工作。它将识别被点击的段的索引,并将进入适当的循环。

希望这有帮助。