gpt4 book ai didi

ios - View 更改后TableView不显示数据

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

我有一个问题。目前我正在完善我的应用程序并对其进行调试等等。奇怪的事情发生了。它的工作原理如下:用户输入数据并访问 TableView,然后显示数据。简单的。但一旦他切换到另一个 View ,然后再回到TableView,数据就消失了!奇怪的是,以前没有发生过这种情况。 (我重做了一些代码行,也许我在不知不觉中改变了一些东西)。我预感到它可能是什么,但这会很奇怪,因为它以前有效。我认为问题出在buttonTag行:

      - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

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

// cell.image = selectedImage;
cell.textLabel.font = [UIFont fontWithName:@"Georgia" size:14.0];

if (buttonTag == 9001) {
cell.textLabel.text = [NSString stringWithFormat:@"%@ %@ %@, %@.", [self.userData objectAtIndex:0], [self.userData objectAtIndex:1], [self.userData objectAtIndex:2], [self.userData objectAtIndex:3]];
}
if (buttonTag == 9002) {
cell.textLabel.text = [NSString stringWithFormat:@"%@ %@ %@, %@.", [self.userData objectAtIndex:0], [self.userData objectAtIndex:1], [self.userData objectAtIndex:2], [self.userData objectAtIndex:3]];
}
if (buttonTag == 9003) {
cell.textLabel.text = [NSString stringWithFormat:@"%@ %@ %@,%@.", [self.userData objectAtIndex:0], [self.userData objectAtIndex:1], [self.userData objectAtIndex:2], [self.userData objectAtIndex:3]];
}


return cell;

}

因为他只是在按下特定按钮时显示数据。如果您在未按这些按钮之一(例如从选项卡栏)的情况下更改为 TableView,则它不会显示任何内容。我现在的问题是:如何告诉 TableView 维护最后按下的按钮中的数据? (我在想 NSUserDefaults?)

这是另一个 ViewController,您可以从其中访问 TableView:

  - (IBAction)savePressed:(id)sender

{
if (buttonTag == 9001) {
button.tag = 9001;
NSUserDefaults *savetext = [NSUserDefaults standardUserDefaults];
[savetext setObject:Antwort.text forKey:@"hallo"];
[savetext setObject:Antwort2.text forKey:@"hallo2"];
[savetext setObject:Antwort3.text forKey:@"hallo3"];
UIButton *buttonPressed = (UIButton *)sender;
TV *second =[[TV alloc] initWithNibName:nil bundle:nil];
second.buttonTag = buttonPressed.tag;
[self.navigationController pushViewController:second animated:YES];

}
if (buttonTag == 9002) {
button.tag = 9002;
NSUserDefaults *savetext = [NSUserDefaults standardUserDefaults];
[savetext setObject:Antwort.text forKey:@"hallo"];
[savetext setObject:Antwort2.text forKey:@"hallo2"];
[savetext setObject:Antwort3.text forKey:@"hallo3"];
UIButton *buttonPressed = (UIButton *)sender;
TV *second =[[TV alloc] initWithNibName:nil bundle:nil];
second.buttonTag = buttonPressed.tag;
[self.navigationController pushViewController:second animated:YES];

}
if (buttonTag == 9003) {
button.tag = 9003;
NSUserDefaults *savetext = [NSUserDefaults standardUserDefaults];
[savetext setObject:Antwort.text forKey:@"hallo"];
[savetext setObject:Antwort2.text forKey:@"hallo2"];
[savetext setObject:Antwort3.text forKey:@"hallo3"];
UIButton *buttonPressed = (UIButton *)sender;
TV *second =[[TV alloc] initWithNibName:nil bundle:nil];
second.buttonTag = buttonPressed.tag;
[self.navigationController pushViewController:second animated:YES];

}

}

最佳答案

如果数据被读取并保存在 NSUSerDefaults 中,请尝试

[savetext synchronize] 

在推送到新 View 之前。

关于ios - View 更改后TableView不显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8837206/

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