Я хочу сделать поиск в виде таблицы. Но в этом табличном представлении я работаю с настраиваемой ячейкой табличного представления. Так что для части данных. Я выбираю в виду категорию. Затем в следующем представлении я получаю все продукты в этой категории.
Я следовал за учебником и реализовал все методы.
Это моя функция для получения продуктов.
-(void) fillArrayProducts:(NSString *)cat{
NSMutableString *postString = [NSMutableString stringWithString:kGETProducts];
[postString appendString:[NSString stringWithFormat:@"?%@=%@",@"Pro_cat",cat]];
[postString setString:[postString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest *request= [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:postString]];
[request setHTTPMethod:@"POST"];
postConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:postString]];
NSError *error;
json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
arrayProducts = [[NSMutableArray alloc] init];
copyArrayProducts = [[NSMutableArray alloc] init];
arrayProductNaam = [[NSMutableArray alloc] init];
for (int i=0; i<[json count]; i++) {
arrayProduct = [[NSMutableArray alloc] init];
[arrayProduct addObject:[json objectAtIndex:i]];
[arrayProducts addObject:arrayProduct];
[arrayProductNaam addObject:[[[arrayProducts valueForKey:@"Pro_naam"] objectAtIndex:i]objectAtIndex:0]];
[copyArrayProducts addObject:arrayProduct];
}
NSDictionary *productsDict = [NSDictionary dictionaryWithObject:arrayProductNaam forKey:@"Products"];
NSLog(@"%@",arrayProductNaam);
}
Нет, что я делаю. У меня есть массив 'arrayProducts' в этом массиве я поместил массивы из 'arrayProduct'. В массиве Product вы можете найти Pro_id, Pro_naam, Pro_prijs. Но я только хочу искать на Pro_naam. Поэтому я также заполняю массив (arrayProductNaam) только названиями продуктов.
Так вот часть, где я делаю свой поиск.
- (void) searchTableView {
NSString *searchText = searchbar.text;
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in arrayProductNaam)
{
NSArray *array = [dictionary objectForKey:@"Pro_naam"];
[searchArray addObjectsFromArray:array];
}
for (NSString *sTemp in searchArray)
{
NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (titleResultsRange.length > 0)
[copyArrayProducts addObject:sTemp];
}
}
Я думаю, что именно здесь я получаю эту ошибку.
2012-02-02 13: 22: 40.958 MamzelBestelling2 [23727: f803] - [__NSCFString
objectForKey:]: нераспознанный селектор отправлен на экземпляр 0x6c34780
2012-02-02 13: 22: 40.959 MamzelBestelling2 [23727: f803] *** Завершение
приложение из-за необработанного исключения 'NSInvalidArgumentException', причина:
'- [__ NSCFString objectForKey:]: нераспознанный селектор отправлен на экземпляр
0x6c34780'