Iphone 为什么UISwitch只有在重命名类时才可见?

Iphone 为什么UISwitch只有在重命名类时才可见?,iphone,xcode,uiviewcontroller,uitableview,uiswitch,Iphone,Xcode,Uiviewcontroller,Uitableview,Uiswitch,我有一个名为optionTableViewController的类,它继承了UITableViewController。我将超类更改为实现UITableViewDelegate和UITableViewDataSource协议的UIViewController,因为我需要tableView处于特定位置 现在有些表格单元格有一个UI开关作为accessoryView。开关是一个实例变量,用CGRectZero初始化 将超类更改为UIViewController时,不会显示开关。但当我也将该类重命名为

我有一个名为optionTableViewController的类,它继承了UITableViewController。我将超类更改为实现UITableViewDelegate和UITableViewDataSource协议的UIViewController,因为我需要tableView处于特定位置

现在有些表格单元格有一个UI开关作为accessoryView。开关是一个实例变量,用CGRectZero初始化

将超类更改为UIViewController时,不会显示开关。但当我也将该类重命名为OptionsViewController f时。E它起作用了

有人知道这种奇怪的行为是从哪里来的吗? 我还试图清理项目,甚至删除了build文件夹——但似乎唯一的解决方案是重命名该类


我以前也遇到过类似的问题,除非重命名该类,否则整个表视图将不会显示。

是否检查了选项TableViewController和选项ViewController的名称是否在整个项目的其他任何位置使用,包括在Interface builder nib文件中?您是否根据需要更改了所有名称?

我找到了此问题的原因。虽然在项目XCode中搜索时找不到任何名为OptionsTableViewController的文件,但我发现它包含在Targets->AppName下。清除所有目标后,文件不会消失,因此最好知道仍有部分保留在其中。

您确定已正确设置accessoryView吗?您能否成功地记录所有附件视图,以查看它们是否确实已设置?这真的不可能是因为它的名称是类,应该有什么地方出错了;其中开关是一个初始化如下的实例变量:_开关=[[UISwitch alloc]initWithFrame:CGRectZero];记录附件视图是什么意思?我设置了一个制动点,应用程序在此点停止。因此,命令肯定会执行。我还尝试将开关作为子视图添加到视图中,而不是tableview,但这也不起作用。我假设类的名称在项目中的某个地方使用,但在我编写的代码中没有使用。。。选项,似乎除了在注释中,没有其他选项出现在TableViewController中-我使用了编辑->查找->在项目中查找功能来检查这一点。我还删除了nib文件,因为我不使用它。