在搜索 stackOverflow 近一个小时后,我已经空了,所以我需要你的帮助。
几天前,我在 Xcode 5 中为 iOS 7 创建了一个主从项目。
完成大型编辑后,我启动了应用程序,一切正常。然后我通过将附件从复选标记更改为无,在 Storyboard 中对 TableViewCell 进行了小改动。
当我在模拟器中再次运行应用程序时,复选标记不再存在,但单击主视图单元格不再加载详细 View 。
我发现很多人在 stackOverflow 上谈论这个,但他们似乎都在尝试使用本地化。我还没有接触过本地化,所以我很确定这不是我遇到的问题。
这是我尝试过但没有成功的方法:
这些都没有奏效!
应用程序的第一页出现了,但 Storyboard 功能都不起作用(没有转场,没有复选标记)。
我一直在假设这是 Xcode 后台进程的问题,但它很可能是我的代码。
这是来自 MasterViewController.m 文件的代码(这是我在 Main.storyboard 文件中编辑的最后一件事,在该文件中我将 TableCell 附件设置为“无”):
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [[UITableViewCell alloc] init];
cell.textLabel.text = _cellStringsArray[indexPath.row];
// if (!([cell.textLabel.text isEqual: @"To Station"]||[cell.textLabel.text isEqual: @"From Station"])) {
// cell.accessoryType = UITableViewCellAccessoryCheckmark;
// }
return cell;
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"preparing for segue to station selector");
if ([[segue identifier] isEqualToString:@"search"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
THStationSearchViewController *searchview = [segue destinationViewController];
searchview.stationSelection = indexPath.row;
searchview.delegate = self;
}
}
我是 Xcode 开发的 super 新手,也是一般的编程菜鸟。我只是个白痴吗?我有什么明显的遗漏吗?
请拯救我和 future 的人,让他们在 Xcode 厄运中遇到这个问题!我将永远感激...
最佳答案
这里的问题是您使用的是 [[UITableViewCell alloc] init]
.这将创建一个具有所有默认属性的通用 UITableViewCell。您需要使用 -dequeueReusableCellWithIdentifier:forIndexPath:
创建具有您需要的所有自定义属性的单元格。
您希望表格 View 创建新单元格的原因是表格 View 知道如何根据 Storyboard 中布局的原型(prototype)单元格创建单元格。
在从 Storyboard 加载表格 View 期间隐藏的是对 -registerNib:forCellReuseIdentifier:
的调用。对于 TableView 中定义的所有原型(prototype)单元格。这告诉表格 View 如何创建一个看起来像原型(prototype)的单元格。
关于ios - Xcode 5 iOS 7 Simulator 没有加载 Storyboard 让我抓狂! (没有本地化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20445520/