gpt4 book ai didi

ios - Objective c UITableViewCell 不显示内容

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

我的表格 View 中的单元格不会显示任何内容。

- (void)viewDidLoad {
[super viewDidLoad];
testArray = [[NSMutableArray alloc] init];
}

如果单击按钮,应用程序将转到下一个屏幕并显示表格。 (日志显示testString被存入了testArray)

- (IBAction)goNext:(id)sender {

for(int i=0; i<10; i++){
NSString *testString = @"Hello";
[testArray addObject:testString];
NSLog(@"myArray:\n%@", testArray[i]);
}
UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [mainStoryBoard instantiateViewControllerWithIdentifier:@"test"];
[self presentViewController:vc animated:YES completion:nil];

}

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

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

static NSString *cellId = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];

cell.textLabel.text = testArray[indexPath.row];
cell.detailTextLabel.text = [NSString stringWithFormat:@"%d", (int)indexPath.row + 1];

return cell;

}

如果我这样做,内容就会显示。

- (void)viewDidLoad {
[super viewDidLoad];
[self testArraySetup];
}

- (void)testArraySetup{

testArray = [NSMutableArray arrayWithArray:@[@"Pizza",@"Bread",@"Drinks"]];

}

非常感谢任何建议。

最佳答案

如果您希望在单击“下一步”按钮时将一个 Controller A 的测试数组传递给另一个 UIViewController B,您应该在要显示 tableView 的 UIViewController B 中设置 testArray 的属性。

    // UIVIewController A
@interface ViewControllerA ()
{
NSMutableArray * testArray;
}
- (void)viewDidLoad {
[super viewDidLoad];
testArray = [[NSMutableArray alloc] init];
}

- (IBAction)goNext:(id)sender {

for(int i=0; i<10; i++){
NSString *testString = @"Hello";
[testArray addObject:testString];
NSLog(@"myArray:\n%@", testArray[i]);
}
UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ViewControllerB *vc = [mainStoryBoard instantiateViewControllerWithIdentifier:@"test"];
vc.testArray = testArray;
[self presentViewController:vc animated:YES completion:nil];

}

// ViewController B
@interface ViewControllerB : UIViewController
@property (nonatomic,retain)NSMutableArray * testArray;

无需在UIViewController B的viewDidLoad中重新初始化testArray,否则会重新分配内存给testArray。

关于ios - Objective c UITableViewCell 不显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40478489/

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