2017-03-07 100 views
-1

我試圖寫在斯威夫特搜索欄代碼(Xcode中):線程1:EXC_BAD_INSTRUCTION(代碼= EXC_I386_INVOP,子碼=爲0x0)

@IBOutlet weak var searchPost: UISearchBar! 
    @IBOutlet weak var tbvPost: UITableView! 

    var posts = [Post]() 
    var filteredPosts = [Post]() 

extension PostViewController: UITableViewDelegate, UITableViewDataSource { 

    func numberOfSections(in tableView: UITableView) -> Int { 
     return 1 
    } 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 

     if searchPost.text != "" { 
      return self.filteredPosts.count 
     } 

     return self.posts.count 
    } 


if searchPost.text != "" { 

,我得到這個錯誤該線:

Thread 1:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) 

任何想法?

+0

這個小代碼很難......但是你確認'searchPost'是否爲零? – apineda

+1

這是斷言失敗,意味着您正在訪問或強制解包零值或比較不兼容的值類型。 – dylanthelion

回答

-1

你應該像

if searchPost?.text != nil{ 
// do your stuff here or in an else statement 
} 
+0

同樣的錯誤。謝謝 – DjangoGuy

+0

作爲第一個評論說,用這麼少的代碼,我們很難複製你正在嘗試做的事情,請更新你的問題,包括更多的信息,如果你想更好地幫助 – CarpenterBlood

+0

。我希望我沒有錯過任何東西 – DjangoGuy

0

我猜測試的零,而不是一個空字符串 的修復是searchPostnil,因爲你從來沒有迷上了從故事板到該出口處的搜索欄。

相關問題