UITableViewCintroller子类中创建

UITableViewCintroller子类中创建

我想在我的UITableViewCintroller子类中创建一个默认静态表,但是没有出现数据。我不知道问题出在哪里,我认为未调用cellForRowAtIndexPath方法。
这是我的代码:

#import <UIKit/UIKit.h>

@interface S5WebTable : UITableViewController <UITableViewDelegate, UITableViewDataSource>

@end

#import "S5WebTable.h"

@interface S5WebTable ()

@property(assign,nonatomic) BOOL isLoaded;

@end

@implementation S5WebTable

- (void)viewDidLoad {
    [super viewDidLoad];

    self.tableView.dataSource = self;
    self.tableView.delegate = self;

    [self.tableView sizeToFit];
}

-(void)viewWillAppear:(BOOL)animated{

}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    //#warning Potentially incomplete method implementation.
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    return 7;
}

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

    UITableViewCell *cell = [[UITableViewCell alloc] init];

    cell.textLabel.text =@":)";

    return  cell;
}

最佳答案

我认为您必须为每个单元格使用不同的标识符

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellIdentifier = [NSString stringWithFormat:@"s%i-r%i", indexPath.section, indexPath.row];
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease];
        //you can customize your cell here because it will be used just for one row.
    }

    return cell;
}

关于ios - iOS:在UITableViewCintroller子类中创建默认静态表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32605862/

10-12 01:52