我是iOS开发的新手,在这里或谷歌上找不到解决方案,所以我绝望地问。
我有一个类“ViewController”,它是 UIViewController 的子类。在这里,我有:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([self.bookTitle.text length] > 0)
self.entries = [self.bookLibrary searchForBook:self.bookTitle.text];
if ([segue.identifier isEqualToString: @"BookList"]) {
TableViewController *controller = (TableViewController *)segue.destinationViewController;
controller.itemCounter = [self.entries count];
controller.bookLibrary = [self.entries allValues];
}
}
Storyboard 上的视图与我拖放到网格上的 Table View Controller 有一个连接。我点击底部的“Table View Controller”,在自定义类输入框中设置了我的自定义类“TableViewController”。
现在,据我了解,上面的方法是将所有数据正确传递给 TableViewController。
这是我在 TableViewController 中的一种方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"BookCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
Book* book = [self.bookLibrary objectAtIndex:indexPath.row];
cell.textLabel.text = book.title;
NSLog(@"%@", book.title);
return cell;
}
NSLog 条目将所有书名打印到控制台,所以我知道数据正在传递。但是,当我运行程序并单击按钮拉出表格视图时,它只是一个空表格。有什么提示吗?我可以上传我的整个项目。在这里待了几个小时,有点沮丧。请帮忙 :(
编辑:响应建议我查看表方法中数据变量的状态。它表明他们的状态不是我认为的那样,我应该使用 NSLog 打印出他们的值。我就是这样做的,我可以看到所有打印出来的值。我不明白......他们确实有分配给他们的价值。问题不在于数据丢失。