Я изо всех сил пытался выполнить задачу, которая включает в себя получение значений из json (из ссылки), запись их в массив, а затем вставку в мою строку, сказав
cell.textLabel.text=[myArray objectAtIndex:indexPath.row];
метод получения
-(void)getData:(NSData *) responseData{
NSError *error;
NSDictionary *json=[NSJSONSerialization JSONObjectWithData:responseData option:kNilOptions error:&error[;
myArray=[json objectForKey:@"cars"];
NSLog(@"cars %@",myArray);//returns array values just fine
}
NSLog возвращает мой массив идеально,
однако, когда я говорю
cell.textLabel.text=[myArray objectAtIndex:indexPath.row];
он имеет значение null (я думаю, это потому, что этот код выполняется перед методом getData, НО даже если я запишу URL-адрес в массив В методе загрузки, зарегистрирую его там и получу свой массив, когда я попытаюсь присвоить его ячейке, я снова получу ноль.
Было бы очень здорово, если бы я смог это исправить. Спасибо
добавленный код
Отредактировано: Добавлено код, предыдущая проблема решена, но теперь пытаюсь отобразить значения TypesArray (словарь) в моей метке ячейки, или мне следует просто преобразовать JSon в формат массива.
Данные Json — это {"regions":{"region":"House", но я не могу форматировать их как массив
#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)
#define kmyURL [NSURL URLWithString:@"http://www.site.com/region/index.php"]
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *myURL =[NSURL URLWithString:@"http://www.site.com/region/index.php"];
NSError *error=nil;
NSString *str=[NSString stringWithContentsOfURL:myURL encoding:NSUTF8StringEncoding error:&error];
NSLog(@"%@",str);
// sqlResults=[NSArray arrayWithContentsOfURL:myURL];
dispatch_async(kBgQueue, ^{
NSData *data=[NSData dataWithContentsOfURL:kmyURL];
[self performSelectorOnMainThread:@selector(fetchedData:) withObject: data waitUntilDone:YES];
});
}
-(void)fetchedData:(NSData *)responseData{
NSError *error;
NSDictionary *json=[NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
myarr=[json valueForKey:@"regions"];
NSLog(@"regions: %@",myarr);
TypesArray =[[NSDictionary alloc]initWithDictionary:json];
NSLog(@"json %@",TypesArray);
[self.tableView reloadData];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;
}
NSLog(@"Sql Results: %@",sqlResults);
NSLog(@"regions out: %@",myarr);
NSLog(@"Typesb: %@",TypesArray);
cell.textLabel.text=[TypesArray valueForKey:@"region"]; //Nothing is being written to cell here
return cell;
}
Данные выглядят следующим образом:
{"regions":{"region":"Island"}}
Подробнее здесь: https://stackoverflow.com/questions/219 ... -tableview
Сложность записи содержимого массива в представление таблицы. ⇐ IOS
Программируем под IOS
-
Anonymous
1768077211
Anonymous
Я изо всех сил пытался выполнить задачу, которая включает в себя получение значений из json (из ссылки), запись их в массив, а затем вставку в мою строку, сказав
cell.textLabel.text=[myArray objectAtIndex:indexPath.row];
метод получения
-(void)getData:(NSData *) responseData{
NSError *error;
NSDictionary *json=[NSJSONSerialization JSONObjectWithData:responseData option:kNilOptions error:&error[;
myArray=[json objectForKey:@"cars"];
NSLog(@"cars %@",myArray);//returns array values just fine
}
[b]NSLog[/b] возвращает мой массив идеально,
однако, когда я говорю
cell.textLabel.text=[myArray objectAtIndex:indexPath.row];
он имеет значение null (я думаю, это потому, что этот код выполняется перед методом getData, НО даже если я запишу URL-адрес в массив В методе загрузки, зарегистрирую его там и получу свой массив, когда я попытаюсь присвоить его ячейке, я снова получу ноль.
Было бы очень здорово, если бы я смог это исправить. Спасибо
добавленный код
Отредактировано: Добавлено код, предыдущая проблема решена, но теперь пытаюсь отобразить значения TypesArray (словарь) в моей метке ячейки, или мне следует просто преобразовать JSon в формат массива.
Данные Json — это {"regions":{"region":"House", но я не могу форматировать их как массив
#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)
#define kmyURL [NSURL URLWithString:@"http://www.site.com/region/index.php"]
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *myURL =[NSURL URLWithString:@"http://www.site.com/region/index.php"];
NSError *error=nil;
NSString *str=[NSString stringWithContentsOfURL:myURL encoding:NSUTF8StringEncoding error:&error];
NSLog(@"%@",str);
// sqlResults=[NSArray arrayWithContentsOfURL:myURL];
dispatch_async(kBgQueue, ^{
NSData *data=[NSData dataWithContentsOfURL:kmyURL];
[self performSelectorOnMainThread:@selector(fetchedData:) withObject: data waitUntilDone:YES];
});
}
-(void)fetchedData:(NSData *)responseData{
NSError *error;
NSDictionary *json=[NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
myarr=[json valueForKey:@"regions"];
NSLog(@"regions: %@",myarr);
TypesArray =[[NSDictionary alloc]initWithDictionary:json];
NSLog(@"json %@",TypesArray);
[self.tableView reloadData];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;
}
NSLog(@"Sql Results: %@",sqlResults);
NSLog(@"regions out: %@",myarr);
NSLog(@"Typesb: %@",TypesArray);
cell.textLabel.text=[TypesArray valueForKey:@"region"]; //Nothing is being written to cell here
return cell;
}
Данные выглядят следующим образом:
{"regions":{"region":"Island"}}
Подробнее здесь: [url]https://stackoverflow.com/questions/21909846/difficulty-writing-content-of-array-into-tableview[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия