2010-08-28 66 views
0

我有一個類叫做OptionsTableViewController它繼承了UITableViewController。我將超類更改爲UIViewController實現UITableViewDelegateUITableViewDataSource協議,因爲我需要tableView在特定的位置。爲什麼UISwitch只有在重命名類時纔可見?

現在一些表格單元作爲accessoryView具有UISwitch。該開關是一個實例變量,用CGRectZero初始化。

將超類更改爲UIViewController時,不顯示開關。但是,當我也重命名類(OptionsViewController f。e。)它的作品。

有人知道這種奇怪的行爲來自哪裏嗎? 我也嘗試清理項目,我甚至刪除了構建文件夾 - 但似乎唯一的解決方案是重命名類。

我有一個類似的問題之前,整個表視圖將不會顯示,除非該類被重命名。

+0

你確定'accessoryView'設置正確嗎?你能否成功記錄所有配件視圖,看看它們是否真的被設置?它真的不能因爲類的名稱,應該有*東西*錯誤*某處*。 – Joost 2010-08-28 21:27:07

+0

這是我的設定accessoryView的: 'cell.accessoryView = _switch;' 其中所述開關被一個實例變量initialiazed如下: '_switch = [[UISwitch的alloc] initWithFrame:方法CGRectZero];' 記錄配件視圖是什麼意思?我設置了一個制動點,此時應用程序停止。所以命令是肯定執行的。 我也嘗試只是添加一個開關作爲子視圖(不是表格視圖),但這也行不通。我假設,該類的名稱在項目中的某處使用,但不在我編寫的代碼中。 – marikaner 2010-08-29 00:06:15

回答

0

我找到了這個問題的原因。雖然通過項目XCode搜索不會找到任何名爲OptionsTableViewController的文件,但我發現它包含在目標 - > AppName下。清理所有目標後,該文件不會消失,因此很高興知道仍然存在部分內容。

0

您是否檢查過您的整個項目中的其他任何位置是否使用了名稱OptionsTableViewController和OptionsViewController,包括在Interface builder nib文件中?視情況而定,你是否改變了所有的名字?

+0

我使用了XCode的_Refactor ..._選項,似乎沒有OptionsTableViewController的其他外觀(註釋除外) - 我使用了編輯 - >查找 - >在項目特徵中查找來檢查。我也刪除了nib文件,因爲我不使用它。 – marikaner 2010-08-28 23:51:03

相關問題