#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».пожалуйста, братан