1

私は xcode が初めてで、助けが必要です。

私はこのjsonを持っています:

{
    "noticias": [
        {
             "titulo":"teste"
        }
        {
             "titulo":"teste 2"
        }
    ]
}

どのように私は結果を得ましたか? 私は試した

NSDictionary *not = [noticias objectAtIndex:indexPath.row];

しかし、キー「noticias」があるため、エラーが発生しました


更新:これは、これまでに受け取った回答に基づいて試みられたコードです。私はこれを持っています:

- (void)fetchNoticias
{
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSData* data = [NSData dataWithContentsOfURL:
                        [NSURL URLWithString: @"http://www.site.com/json"]];

        NSError* error;

        noticias = [NSJSONSerialization JSONObjectWithData:data
                                                 options:kNilOptions
                                                   error:&error];

        dispatch_async(dispatch_get_main_queue(), ^{
            [self.tableView reloadData];
        });
    });
}

それで

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self fetchNoticias];
}

そして私が問題を抱えている最後の

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"NoticiasCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    NSArray *noticia = [noticias objectForKey:@"noticias"];
    NSDictionary *not = [noticias objectAtIndex:indexPath.row];
    NSString *firstTitle = [not objectForKey:@"titulo"];

    cell.textLabel.text = firstTitle;
    //cell.detailTextLabel.text = subtitulo;

    [cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];

    return cell;
}

インラインの問題:

NSArray *noticia = [noticias objectForKey:@"noticias"];
4

3 に答える 3

1

これを試して

      NSArray *array = [dictionary objectForKey:@"noticias"];
      for(int i=0;i<[array count];i++)
      {
       NSDictionary *item = [array objectAtIndex:i];
      NSString *title = [item objectForKey:@"titulo"];
       NSLog(@"%@",title);
      }

それがあなたを助けることを願っています。

于 2013-05-30T07:54:00.523 に答える