Я пытаюсь извлечь данные из веб-службы, а затем отфильтровать данные и сохранить их в другом массиве на основе значения. Тем не менее, я получаю следующее сообщение об ошибке, когда я пытаюсь фильтровать:SIGABRT завершает приложение из-за неотображенного исключения
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary Month]: unrecognized selector sent to instance 0x174079640'
Это мой код:
- (void)getDataHTTPClient:(Client *)client didUpdateWithData:(id)data
{
[self.view setUserInteractionEnabled:YES];
if (isPullRefresh)
{
isPullRefresh = NO;
[datasource removeAllObjects];
[self.pullToRefreshView finishLoading];
}
NSMutableArray *array = (NSMutableArray *)data;
if (![array count])
{
isNewsEnded = YES;
[self.tableView reloadData];
return;
}
[hud hide:YES];
[datasource addObjectsFromArray:(NSMutableArray *) data];
NSDate *currentDate = [NSDate date];
NSCalendar* calendar = [NSCalendar currentCalendar];
NSDateComponents* components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:currentDate];
monthInt= [components month];
NSLog(@"month %li", monthInt);
NSLog(@"month after deduction %li", monthInt-1);
monthString = [NSString stringWithFormat:@"%zd",monthInt];
for (EventsBean *item in datasource)
{
if([item.Month isEqualToString:monthString])
{
[filteredArray addObject:item];
}
}
[self.tableView reloadData];
if ([datasource count])
{
[self displayNoRecordMSG:NO];
}
else
{
[self displayNoRecordMSG:YES];
}
}
ошибка показывает на этой линии
if([item.Month isEqualToString:monthString])
{
[filteredArray addObject:item];
}
Пожалуйста, авторизуйтесь значение '' data' и datasource' , Вы получаете неправильный тип товара. – anhtu
Что такое содержимое массива 'datasource' и как оно заполнено? –
'item' похоже NSDictionary - может быть, вы хотите' item [@ "month"] '? – Paulw11