gpt4 book ai didi

ios - UITableView 索引超出范围错误

转载 作者:行者123 更新时间:2023-11-28 19:07:53 24 4
gpt4 key购买 nike

我在以下行遇到错误:

cell1.textLabel.text = [settings objectAtIndex:indexPath.row];

这是我收到的未捕获的起始错误:

Terminating app due to uncaught exception 'NSRangeException',
reason: '-[__NSArrayM objectAtIndex:]: index 3 beyond bounds [0 .. 2]'
First throw call stack:
(0x2265012 ... 0x21a5 0x1)
libc++abi.dylib: terminate called throwing an exception
(lldb)

这是我的代码:

.h:

@interface ViewController : UIViewController <UITableViewDataSource ,UITableViewDelegate>{

//Settings Table
IBOutlet UITableView *settingTable;
NSMutableArray *settings;
}

@property (nonatomic, retain) UITableView *settingTable;
@property (nonatomic, retain) NSMutableArray *settings;

.m:

@synthesize settingTable;
@synthesize settings;

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (!settings) {
return 0;
}

if ([settings count] > 0){
return [settings count];
}
else
return 0;
}

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

NSLog(@"%@", settings);

UITableViewCell *cell1 = [settingTable dequeueReusableCellWithIdentifier:@"MainCell1"];
if (cell1 == nil) {
cell1 = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MainCell1"];
}

cell1.textLabel.text = [settings objectAtIndex:indexPath.row];
return cell1;
}

// ...

- (void)viewDidLoad
{
[super viewDidLoad];

settingTable.delegate = self;
settingTable.dataSource = self;

//settings table
settings = [[NSMutableArray alloc] initWithObjects:@"Downloads", @"Queue", @"FAQ", nil];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
}

最佳答案

问题是您在 UITableView 中使用静态单元格。只需增加 Storyboard 中的行数。这是您可以通过编程方式添加到 TableView 的最大单元格数。

抱歉,我没有看到您没有使用 Storyboard。但我的回答对于那些正在使用它的人来说是正确的。

关于ios - UITableView 索引超出范围错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749213/

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