gpt4 book ai didi

ios - cellForRowAtIndexPath 函数异常 - UITableView

转载 作者:行者123 更新时间:2023-11-29 03:28:47 25 4
gpt4 key购买 nike

我想在“UITableView”上显示数据列表。

当我运行代码时,出现以下错误:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 
'unable to dequeue a cell with identifier Cell - must register a nib or a class for the
identifier or connect a prototype cell in a storyboard'

当我运行下面的代码时,出现上面给出的错误。错误被抛出cellForRowAtIndexPath 函数。我该如何解决这个错误?

@interface TheViewController ()

@property (strong, nonatomic) NSMutableArray *myTData;
@property (weak, nonatomic) IBOutlet UITableView *tableViewOutlet;

@end

@implementation TheViewController
- (void)viewDidLoad
{
self.tableViewOutlet.delegate = self;
self.tableViewOutlet.dataSource = self;
self.tableViewOutlet.scrollEnabled = YES;
self.myData = [[NSMutableArray alloc] initWithObjects:@"obj1", @"obj2", nil];
[self.tableViewOutlet reloadData];
[super viewDidLoad];
}

#pragma mark UITableViewDataSource methods

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger) section {
return myData.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"hede"];
}
[cell.textLabel setText: [myData objectAtIndex:indexPath.row]];
[cell.detailTextLabel setText:@"hede hodo"];
//
// Configure the cell..
return cell;
}

#pragma mark UITableViewDelegate methods

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
}

#pragma mark - Table view data source

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

@end

最佳答案

异常正如它所说的那样。

在 iOS 5 中,您将调用 [tableView dequeueReusableCellWithIdentifier:CellIdentifier],如果它没有返回一个,您将创建一个。新的调用 -dequeueReusableCellWithIdentifier:forIndexPath: 应该注册一个 NIB 或单元类,然后它总是会成功。

您应该调用

- (void)registerNib:(UINib *)nib forCellReuseIdentifier:(NSString *)identifier

- (void)registerClass:(Class)cellClass forCellReuseIdentifier:(NSString *)identifier

在您的 -viewDidLoad 方法中。

关于ios - cellForRowAtIndexPath 函数异常 - UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20097923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com