簡體   English   中英

為什么我的 UITableView 會出現 NSInternalInconsistencyException 異常?

[英]Why am I getting an NSInternalInconsistencyException exception on my UITableView?

更新事實證明,我對項目的重命名導致了這些問題的發生:。 我遵循了所有這些步驟( 如何完全重命名 Xcode 項目(即包括文件夾)? )。 我刪除了所有的 Outlets,但仍然出現錯誤,所以我仍然不知道究竟是什么導致了這種情況的發生。 現在我只想恢復到我以前命名的項目並從那里開始。 如果您有任何其他rec,我將不勝感激!

我只是想運行我的應用程序,但我收到一個“ NSInternalInconsistencyException ”異常,說我的視圖控制器沒有得到 UITableView。

我檢查了我的UITableView IBOutlet 設置是否正確,但我仍然收到錯誤..

這就是我聲明我的 IBOutlet 的方式...

class EntryViewController: SwipeTableViewController, UITextFieldDelegate {

    //MARK - IBOUTLETS

    @IBOutlet weak var entryTableView: UITableView!

    @IBOutlet weak var entryTextField: UITextField!
    @IBOutlet weak var saveButton: UIButton!
    @IBOutlet weak var heightConstraint: NSLayoutConstraint!
    @IBOutlet weak var searchBar: UISearchBar!

這是我得到的錯誤:

截屏

* 由於未捕獲的異常“NSInternalInconsistencyException”而終止應用程序,原因:**'-[UITableViewController loadView] 實例化視圖控制器,其標識符為“Main”中的“showEntries”,但未獲得 UITableView。

libc++abi.dylib:以未捕獲的 NSException 類型異常終止

我想這會將我的UITableView鏈接到我的ViewController

另外,我正在從我的 EntryViewController 繼承一個名為 SwipeTableViewController 的視圖......

class SwipeTableViewController: UITableViewController, SwipeTableViewCellDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.rowHeight = 80
    }

我的 EntryViewController 不會從那里自動子類化到 UIViewController 嗎?

看起來您在UITableView聲明了UITableViewController插座。 確保您的類是UIVIewController而不是UITableViewController的子類。

在您的故事板中,查找帶有標識符“showEntries”的視圖控制器,將其刪除,然后拖動UIViewController元素而不是UITableViewController元素。

然后將UITableView放入UIViewController並將其連接到視圖控制器中的 tableview outlet 屬性。

執行以下步驟。 1.從故事板中刪除所有插座。 2.創建一個 UIViewController 類型的類。 3.將一個新的tableview拖放到故事板中。 4.將所有插座與相應的 UI 元素連接起來。

或者您需要將您的類設為 UITableViewController 類型。

現在它不會崩潰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM