gpt4 book ai didi

ios - 带有来自 NSMutableArray 的数据的 UITableView 返回空

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

我想根据在 PickerView View 中所做的选择来填充 TableView 的内容。到目前为止我的代码是:

- (IBAction)findOwnerButtonPressed:(id)sender
{
findShip.hidden = NO;
shipOwners.hidden = NO;

boatsTableView.hidden = YES;
boatOwners = [NSArray arrayWithObjects:@"Owner1",@"Owner2",@"Owner3", nil];
}

- (IBAction)findShipButtonPressed:(id)sender
{
shipOwners.hidden = YES;
findShip.hidden = YES;
boatsTableView.hidden = NO;
}

PickerView 数据源

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [boatOwners count];
}

- (NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component
{
return [boatOwners objectAtIndex:row];
}

PickerView 委托(delegate)

- (void)pickerView:(UIPickerView *)pickerView 
didSelectRow:(NSInteger)row
inComponent:(NSInteger)component
{
NSString *boatsFromOwner = [boatOwners objectAtIndex:[shipOwners selectedRowInComponent:0]];
boatsForOwner = [NSMutableArray arrayWithObjects:nil];
if ([boatsFromOwner isEqualToString:@"Owner1"]) {
[self.boatsForOwner addObject:@"Titanic"];
}
NSLog(@"%@",boatsFromOwner);
}

TableView 数据源和委托(delegate)

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

- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableItem";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}

cell.textLabel.text = [boatsForOwner objectAtIndex:indexPath.row];
return cell;
}

这应该从 PickerWheel 返回船主公司,并在表格中给我他们的船。此代码在表中不返回任何内容。 PickerWheel 在我选择它时记录“Owner1”。

我在将对象添加到数组的方式、初始化表的方式或将 PickerWheel 结果与单词进行比较方面是否存在错误?

最佳答案

之后

[self.boatsForOwner addObject:@"Titanic"];

您将需要手动刷新您的 tableview.. 所以在那之后做

[_yourTableView reloadData];

我也会像这样初始化你的数组:

boatsForOwner = [NSMutableArray new];

关于ios - 带有来自 NSMutableArray 的数据的 UITableView 返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14265220/

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