Как фильтровать данные json с помощью UISegmentedControl в iOS

#ios #objective-c #json #nsdateformatter #uisegmentedcontrol

#iOS #objective-c #json #nsdateformatter #uisegmentedcontrol

Вопрос:

Я работаю разработчиком приложений для iOS. Ответ JSON, который мне нужно использовать, доступен по адресу http://pastie.org/9304213 . Используя это, я хочу отфильтровать данные так, чтобы в моем UISegmentControl было 3 кнопки. т.е. 1. День 2. Неделя 3.Месяц.

-> Если я нажимаю элемент управления сегментом даты, он отображает сегодняшние данные в контроллере UITableView.

-> Если я нажму элемент управления сегментом недели, он отобразит данные текущей недели в контроллере UITableView.

-> Если я нажму элемент управления сегментом месяца, он отобразит данные текущего месяца в контроллере UITableView.

Я новичок в программировании на iOS. Пожалуйста, руководство.

Комментарии:

1. Пожалуйста, напишите какой-нибудь код, который вы хотите отредактировать, или предложения.

Ответ №1:

Это может вам помочь. Для извлечения и анализа данных 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: amp;error];
 

Теперь у вас есть ваши данные в объекте NSDictionary, и вы можете извлекать определенные данные, используя функции objectForKey or valueForKey , подобные этой :

 _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 событием UISegmentControl .Это выполнит свою работу, когда вы нажмете на любое из значений сегмента. Он определит индекс выбранного сегмента и запустится в соответствующий цикл.

Надеюсь, это поможет.

Комментарии:

1. спасибо за ваш ответ. У меня много сомнений. пожалуйста, зайдите в чат «Talk-4-ios».пожалуйста, братан