user1692986
user1692986

Reputation: 17

TableView wont display provided data

I am having a strange issue with TableView. Here is some code to clarify everything:

I am using tabbed panes and this right here is just one of my two ViewControllers:

As you can see, all I do is setting up an UIView and placing a tableView right ontop of it.

#import "SuchenCtrl.h"

@interface SuchenCtrl ()

@end

@implementation SuchenCtrl

@synthesize MainView;
@synthesize Standort;

- (void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view.
    self.view = self.MainView;

    [self.Standort.tableView setDelegate:self.Standort];
    [self.Standort.tableView setDataSource:self.Standort];

    [self.MainView addSubview:self.Standort.tableView];
}

- (id)init {
    self = [super init];

    if(self) {
        CGRect rect = [[UIScreen mainScreen] applicationFrame];
        self.MainView = [[UIView alloc] initWithFrame:rect];
        [self.MainView setBackgroundColor:[UIColor blackColor]];

        //Alloc UITableViewController
        self.Standort = [[UIStandort alloc] initWithStyle:UITableViewStylePlain];

        [self.Standort release];
        [self.MainView release];
    }

    return self;
}

@end

Now UIStandort is another class that simply inherits from UITableViewController. It implements all necessary functions to display data. All im trying to achieve is having the table display "Test" a couple of times but it wont. The table gets displayed nicely but just with empty cells. When I breakpoint one of the implemented functions in the class UIStandort nothing gets called, so my assumption is that the delegate and sourceData are pointing to wrong classes? Though, I explicitly assign those before putting the table on the view.

UIStandort* Standort is declared with properties retain and nonatomic if this helps.

#import "UIStandort.h"

@interface UIStandort ()

@end

@implementation UIStandort

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 0;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return 5;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath(NSIndexPath *)indexPath
{

    UITableViewCell* cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
    cell.textLabel.text = @"Test";

    [cell autorelease];

    return cell;
}

@end

Thanks.

Upvotes: 1

Views: 104

Answers (1)

FluffulousChimp
FluffulousChimp

Reputation: 9185

You return 0 for the number of row in section. The documentation states:

The number of sections in tableView. The default value is 1.

Can you try:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}

Upvotes: 3

Related Questions