线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子码=为0x0)

线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子码=为0x0)

问题描述:

我试图写在斯威夫特搜索栏代码(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

你应该像

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

同样的错误。谢谢 – DjangoGuy

+0

作为第一个评论说,用这么少的代码,我们很难复制你正在尝试做的事情,请更新你的问题,包括更多的信息,如果你想更好地帮助 – CarpenterBlood

+0

。我希望我没有错过任何东西 – DjangoGuy

我猜测试的零,而不是一个空字符串 的修复是searchPostnil,因为你从来没有迷上了从故事板到该出口处的搜索栏。