0

我有这样的json(有字典和数组)。我想将所有 json 绘制到 UItableviewcell 中,但它不在那里绘制

{   data: [
      {

        featured: true,
        price: {
                    currency: "IDR",
                    amount: 5557679,
                    formatted: "Rp5.558.000"
      },
] }

这是我的 viewcontroller.h 文件

#import <UIKit/UIKit.h>
@interface ViewController : UIViewController{
IBOutlet UITableView *mainTableView;
    NSURL *URL;
    NSDictionary *Deals;
    NSArray *Deals_array;
    NSMutableData *data;
}

@end

这是我的 .m 文件

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.title=@"SOme Apps";
    [UIApplication sharedApplication].networkActivityIndicatorVisible=YES;
    URL = [NSURL URLWithString:[NSString stringWithFormat:@"http://someurl.com"]];
    NSURLRequest *request=[NSURLRequest requestWithURL:URL];
    [[NSURLConnection alloc] initWithRequest:request delegate:self];

    /*dispatch_async(kBgQueue, ^{
        NSData* data = [NSData dataWithContentsOfURL: URL];
        [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];
    });*/
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{

    data=[[NSMutableData alloc] init];
    NSLog(@"%@",data);
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)theData
{
    [data appendData:theData];

}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
    NSError* error;
    Deals= [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
    Deals_array = [Deals objectForKey:@"data"]; //2
    NSDictionary* loan = [Deals_array objectAtIndex:0];
    NSString *test=[loan objectForKey:@"featured"];
    NSLog(@"%@",test);
    [mainTableView reloadData];




}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
    NSLog(@"Error");
}

////set minimum section oftableview
-(int)numberOfTableviewSection : (UITableView *) tableView
{
    return 1;
}

////set length uitableview
-(int) tableView :(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    return [Deals_array count];
}

///declaring uitableview
-(UITableViewCell *)tableView :(UITableView *) tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:@"MainCell"];
    if (cell==nil){
        cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MainCell"];
    }
    cell.textLabel.text=[[Deals_array objectAtIndex:indexPath.row] objectForKey:@"featured"];
    return  cell;
}
 @end

但它没有绘制对象键@test,有人可以帮我为什么吗?

4

1 回答 1

1

尝试做分配

Deals_array = [[NSArray alloc] initWithArray:[Deals objectForKey:@"data"]];
于 2012-10-10T03:57:54.770 回答