Error adding uitableviewcontroller as subview to uiviewcontroller

I am making a simple application that is viewing items from a json server

I used UISegment in one UIViewController to add another subview

    - (IBAction)segmentSwitch:(id)sender {
    UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
    NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;

    if (selectedSegment == 0) {
        instantiateViewControllerWithIdentifier:@"prestige"] animated:NO];

        UIViewController *subController = [self.storyboard instantiateViewControllerWithIdentifier:@"prestige"];
        [mainView addSubview:subController.view];

    }
    else if(selectedSegment == 1)
    {
        instantiateViewControllerWithIdentifier:@"latest"]];
        //[self setView: [self.storyboard instantiateViewControllerWithIdentifier:@"latest"]];
        //UIViewController *subController = [self.storyboard instantiateViewControllerWithIdentifier:@"latest"];
        //[mainView addSubview:subController.view];

        UITableViewController *tableVC =[self.storyboard instantiateViewControllerWithIdentifier:@"latest"];

        [self.view addSubview:tableVC.tableView];

    }
    else if (selectedSegment == 2)
    {
        instantiateViewControllerWithIdentifier:@"contactUs"]];
        UIViewController *subController = [self.storyboard instantiateViewControllerWithIdentifier:@"contactUs"];
        [mainView addSubview:subController.view];
    }
}

my error occurs when I select Select Segment 2 to view the uitableviewcontroller as subview x enter me an error

exc_bad_access (code = 1 address = 0x110ff210 on line NSDictionary * latests = [lastArray objectAtIndex: indexPath.row];

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"latestCell1";

    latestCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    NSDictionary *latests = [latestArray objectAtIndex:indexPath.row];

    NSString *latest_name_En = [latests objectForKey:@"title_en"];
    NSString *logo1 = [latests objectForKey:@"logo"];
    NSString *img1 = [latests objectForKey:@"img1"];

    NSData *latestsImg1 = [NSData dataWithContentsOfURL:[NSURL URLWithString:img1]];
    NSData *latestsLogo1 = [NSData dataWithContentsOfURL:[NSURL URLWithString:logo1]];    

    cell.latest_name_en1.text = latest_name_En;

    dispatch_async(dispatch_get_main_queue(), ^{

        cell.latest_img1.image = [UIImage imageWithData:latestsImg1];
        cell.latest_logo1.image = [UIImage imageWithData:latestsLogo1];

    });

    return cell;
}

I am sure that the UITableViewController is working fine, since I tried to run it alone, and it also worked with it without a user cell, and it worked as well, but using the custon cell as a subtask, it throws the error above.

+3
source share
3

- ,

[self addChildViewController:subController];
[mainView addSubview:subController.view];

tableview viewcontroller subview

+14

lastArray .

, EXEC_BAD_ACCESS, Zombies. .

0

latestsImg1 latestsLogo1 . , , dispatch_async, , , . , , . GrandCentral, , async.

- :

NSData * latestsImg1 = [NSData dataWithContentsOfURL: [NSURL URLWithString: img1]]; [latestsImg1 save]; NSData * latestsLogo1 = [NSData dataWithContentsOfURL: [NSURL URLWithString: logo1]];
[latestsLogo1 save]; cell.latest_name_en1.text = last_name_En;

dispatch_async(dispatch_get_main_queue(), ^{

    cell.latest_img1.image = [UIImage imageWithData:latestsImg1];

cell.latest_logo1.image = [UIImage imageWithData:latestsLogo1];
[latestsImg1 release];
    [latestLogo1 release];

});
0
source

All Articles