ios - Xcode 5 iOS 7 Simulator 没有加载 Storyboard 让我抓狂! (没有本地化)

标签 ios xcode xcode5

在搜索 stackOverflow 近一个小时后,我已经空了,所以我需要你的帮助。

几天前,我在 Xcode 5 中为 iOS 7 创建了一个主从项目。

完成大型编辑后,我启动了应用程序,一切正常。然后我通过将附件从复选标记更改为无,在 Storyboard 中对 TableViewCell 进行了小改动。

当我在模拟器中再次运行应用程序时,复选标记不再存在,但单击主视图单元格不再加载详细 View 。

我发现很多人在 stackOverflow 上谈论这个,但他们似乎都在尝试使用本地化。我还没有接触过本地化,所以我很确定这不是我遇到的问题。

这是我尝试过但没有成功的方法:

  • 将附件设置改回复选标记(复选标记未在模拟器中重新出现)
  • 仔细检查“本地化锁定”是否设置为“无”
  • 清洁代码(不知 Prop 体是做什么的,但我试过了...)
  • 从我的模拟器中删除并重新安装应用程序
  • 退出并重新打开 Xcode
  • 在项目导航器中删除对 Storyboard的引用,重新构建并运行,然后重新添加 Storyboard(在项目中没有 Storyboard的应用程序运行与使用 Storyboard时完全相同)
  • 重启我的电脑
  • 删除“Users/Library/Application Support/Iphone Simulator”中相关的Iphone Simulator 目录,然后重新启动模拟器

  • 这些都没有奏效!

    应用程序的第一页出现了,但 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/

    相关文章:

    ios - Xcode 5 中没有圆形矩形按钮?

    ios - 使用动画将 uitableview 单元移动到顶部

    iOS:如何调试 "message sent to deallocated instance"

    ios - 从我的 CoreData 获取数据并使用 Swift 将其呈现在 TableView 中时出现 fatal error

    ios - 使用 UITableViewController 比使用实现 tableview 委托(delegate)和数据源方法的 UIViewController 有什么优势吗?

    ios - 使用 AVCaptureSession 切换前后摄像头

    iphone - 如何将 int 值从一个 View Controller 传递到 iPhone 应用程序中的下一个 View Controller

    ios - 自定义 UIBarButton 项目图像

    ios - 在 App Store 中发布应用程序所允许的最低 sdk 是多少?

    xcode - Swift 协议(protocol)扩展覆盖