Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'-[UITableViewController loadView] loaded the "MySubscriptionsViewController" nib but didn't get a UITableView.'

Tags:

xcode

iphone

I updated my xcode using 6.1 simulator, my app was working fine for 5.1 simulator,

now i am getting the following error :

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "MySubscriptionsViewController" nib but didn't get a UITableView.' 

my header file:

#import <UIKit/UIKit.h>

@interface MySubscriptionsViewController : UITableViewController{

}

@property (nonatomic,retain) NSString *serverAddress;
@property (nonatomic, retain) UITextField *airportField;
@property (nonatomic, retain) NSMutableArray *airportList;

@property (nonatomic, retain) NSMutableArray *colCode;
@property (nonatomic, retain) NSMutableArray *colAirport;
@property (nonatomic, retain) NSMutableArray *colStartDate;
@property (nonatomic, retain) NSMutableArray *colStartTime;
@property (nonatomic, retain) NSMutableArray *colEndTime;
@property (nonatomic, retain) NSMutableDictionary *tempAirport;


@property (nonatomic,strong) NSDictionary *countryList;
@property (nonatomic,strong) NSArray *countryKeys;

- (IBAction)Meetup:(id)sender;
- (IBAction)ViewBeacon:(id)sender;
-(IBAction)gotoHome:(id)sender;

-( void)beacon:(NSString *)theStr;

@end

my m file:

#import "MySubscriptionsViewController.h"
#import "MybeaconsViewController.h"
#import "SBJsonParser.h"
#import "GridTableViewCell.h"
#import "MeetupViewController.h"
#import "ViewBeaconViewController.h"
#import "DataClass.h"
#import "MemberPanelViewController.h"


@interface MySubscriptionsViewController ()

@end

@implementation MySubscriptionsViewController
@synthesize countryList,countryKeys,serverAddress,airportField,airportList,tempAirport,colStartTime,colEndTime,colStartDate,colAirport,colCode;


- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
}




- (void)viewDidLoad
{
    [super viewDidLoad];
    self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0,0);
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

    DataClass *obj=[DataClass getInstance];  



    // serverAddress = @"http://www.cloudnetpk.com/transbeacon_design/services";
    NSString *strURL = [NSString stringWithFormat:@"http://www.cloudnetpk.com/transbeacon_design/services/get_my_beacon_subscriptions.php?code=%@",obj.str];
    NSLog(@" url => %@",strURL);
    NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
    NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

    SBJsonParser *parser = [[SBJsonParser alloc] init];
    NSArray *datos = [parser objectWithString:strResult error:nil];

    tempAirport = [[NSMutableDictionary alloc] init];
    airportList = [[NSMutableArray alloc] init];
    colStartTime = [[NSMutableArray alloc] init];
    colEndTime = [[NSMutableArray alloc] init];
    colStartDate= [[NSMutableArray alloc] init];
    colAirport= [[NSMutableArray alloc] init];
    colCode= [[NSMutableArray alloc] init];
    countryList = datos;

    NSLog(@"beacons count %d",datos.count);
    for (int i=0; i<datos.count; i++){
        int a=0;

        NSString *startDate = [[[datos objectAtIndex:i] objectForKey:@"start_date" ] lowercaseString];
        NSString *airPort= [[[datos objectAtIndex:i] objectForKey:@"airport" ] lowercaseString];
        NSString *startTime = [[[datos objectAtIndex:i] objectForKey:@"start_time" ] lowercaseString];
        NSString *endTime = [[[datos objectAtIndex:i] objectForKey:@"end_time" ] lowercaseString];
        NSString *code = [[[datos objectAtIndex:i] objectForKey:@"code" ] lowercaseString];

        //NSLog(@" here =>%@",code);
        [colStartDate insertObject:startDate atIndex:i ];
        [colAirport insertObject:airPort atIndex:i ];
        [colStartTime insertObject:startTime atIndex:i ];
        [colEndTime insertObject:endTime atIndex:i ];
        [colCode insertObject:code atIndex:i];


        //[ tempAirport setObject:lcString  forKey:lcStringValue];
    }



    [super viewDidLoad];





}





- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return [countryList count];
}

/*
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    
 UITableViewCell *cell =[[UITableViewCell alloc]
 initWithStyle:UITableViewCellStyleDefault
 reuseIdentifier:@"cell"];
 NSString *currentCountryName=[countryKeys objectAtIndex:[indexPath row]];
 [[cell textLabel] setText:currentCountryName];
 //cell.detailTextLabel.text=@"testing here ";
 return cell;
 }
 */
-(UITableViewCell *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    static NSString *CellIdentifier = @"SectionHeader"; 
    //UITableViewCell *headerView = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(10,0,300,60)] ;

    UIImage *myImage=[UIImage imageNamed:@"top_bar.png"];
    UIImageView *imageView =[[UIImageView alloc] initWithImage:myImage];
    imageView.frame= CGRectMake(0, 0, 400, 50);
    [headerView addSubview:imageView];   



    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(110,3, tableView.bounds.size.width - 170,40)];  
    label.text = @"Subscriber List";
    label.textColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:1]; 
    label.font = [UIFont fontWithName:@"Arial-BoldMT" size:16]; 
    label.backgroundColor = [UIColor clearColor];
    [headerView addSubview:label];



    UIButton *circularButton = [UIButton buttonWithType:UIButtonTypeCustom];    
    CGRect circularRect = CGRectMake(5.0, 5, 58.0, 32.0);
    [circularButton setFrame:circularRect];
    [circularButton addTarget:self action:@selector(Meetup:) forControlEvents:UIControlEventTouchUpInside]; 
    UIImage *buttonImage = [UIImage imageNamed:@"back_btn.png"];
    [circularButton setImage:buttonImage forState:UIControlStateNormal];
    [headerView addSubview:circularButton];    


    UIButton *homeButton = [UIButton buttonWithType:UIButtonTypeCustom];    
    CGRect circularRectHome = CGRectMake(250.0, 5, 58.0, 32.0);
    [homeButton setFrame:circularRectHome];
    [homeButton addTarget:self action:@selector(gotoHome:) forControlEvents:UIControlEventTouchUpInside]; 
    UIImage *buttonImageHome = [UIImage imageNamed:@"home_btn.png"];
    [homeButton setImage:buttonImageHome forState:UIControlStateNormal];
    [headerView addSubview:homeButton];   

    return headerView;
}  


-(IBAction)gotoHome:(id)sender{
    // redirect
    MemberPanelViewController *window =[[MemberPanelViewController alloc]init];
    [self presentModalViewController:window animated:YES];

}


- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{

    return 50;
}


- (IBAction)Meetup:(id)sender{
    NSLog(@" button clicked here");
    MeetupViewController *window =[[MeetupViewController alloc]init];
    [self presentModalViewController:window animated:YES];



}

- (IBAction)ViewBeacon:(id)sender{
    ViewBeaconViewController *window=[[ViewBeaconViewController alloc]init];
    [self presentModalViewController:window animated:YES];
}


// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{


    static NSString *CellIdentifier = @"Cell";

    GridTableViewCell *cell = (GridTableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[GridTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        cell.lineColor = [UIColor blackColor];
    }

    // Since we are drawing the lines ourself, we need to know which cell is the top cell in the table so that
    // we can draw the line on the top
    if (indexPath.row == 0)
        cell.topCell = YES;
    else
        cell.topCell = NO;

    // Configure the cell.
    //cell.cell1.text = [NSString stringWithFormat:@"%i",indexPath.row];
    //cell.cell2.text = [NSString stringWithFormat:@"%i", indexPath.row];
    //cell.cell3.text = @"test here text";



    cell.cell1.text =[colStartDate objectAtIndex:indexPath.row];
    cell.cell2.text =[colAirport objectAtIndex:indexPath.row];
    cell.cell3.text =[colStartTime objectAtIndex:indexPath.row];
    cell.cell4.text = [colEndTime objectAtIndex:indexPath.row];

    NSString *value = [colCode objectAtIndex:indexPath.row];
    NSLog(@" value => %@",value);

    UIButton *circularButton = [UIButton buttonWithType:UIButtonTypeCustom];    
    CGRect circularRect = CGRectMake(260.0, 2, 60.0, 40.0);
    [circularButton setFrame:circularRect];
    [circularButton addTarget:self action:@selector(beacon:) forControlEvents:UIControlEventTouchUpInside];

    circularButton.tag=value;
    UIImage *buttonImage = [UIImage imageNamed:@"view.png"];
    [circularButton setImage:buttonImage forState:UIControlStateNormal];
    [cell.contentView addSubview:circularButton];    

    return cell;
}

-( void)beacon:(NSString *)theStr{
    NSInteger *tid = ((UIControl*)theStr).tag;
    NSLog(@" here is parameter %@",tid);


    ViewBeaconViewController *window=[[ViewBeaconViewController alloc]init];
    //   window.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    window.theDataYouWantToPass =tid; 
    window.lastscreen =@"subscription"; 
    [self presentModalViewController:window animated:YES];

}



- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    /*
     <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
     // ...
     // Pass the selected object to the new view controller.
     [self.navigationController pushViewController:detailViewController animated:YES];
     [detailViewController release];
     */
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}



- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end
like image 750
Adnan Khan Avatar asked Dec 15 '22 11:12

Adnan Khan


1 Answers

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "MySubscriptionsViewController" nib but didn't get a UITableView.' This error Ocurce becouse some bellow issue.

I think the problem is because you are subclassing UITableViewController instead of UIViewController. you need to put UIViewController as a subclass and connect IBoutlet of UITableview in XIB with its delegare. your TableVIew in UIView of XIB so you just connect fileOWner to UIView as a View and UITableview with your TableView Outlate.

@interface MySubscriptionsViewController : UIViewController<UITableViewDelegate, UITableViewDataSource>

OR

else there you remaining some referance of old copy you trying with restart xcode and remove catch or clean derive data

like image 162
Nitin Gohel Avatar answered May 26 '23 11:05

Nitin Gohel