可能是xcode故障

时间:2015-09-03 07:18:35

标签: ios xcode swift unrecognized-selector

我正在尝试将观察者添加到我之前在代码中发布的println(self.respondsToSelector("setStuff:")) if self.respondsToSelector("setStuff:"){ println("it responses to selector set stuff") NSNotificationCenter.defaultCenter().addObserver(DisplayMangaViewController.self, selector: "setStuff:", name: "pagesNotification", object: UrlAndNameList.self) } 通知中,但Xcode提供了该异常

  

由于未捕获的异常而终止应用   ' NSInvalidArgumentException',原因:   ' + [TurkI_s_Manga.DisplayMangaViewController setStuff:]:无法识别   选择器发送到类0x102ffd650'。

我在代码中使用了相同的结构三次,只有其中一个导致异常。所以我尝试检查选择器,然后尝试使用它:

true

此代码块打印it responses to the selector set stuff然后ItemIsSelectable,但当观察者收到通知时,它会给出上述异常。

任何帮助都将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:2)

从上面的评论中:您正在添加类型(类)作为观察者(如果setStuff是类型方法,则可以工作)。您可能想要的是

 NSNotificationCenter.defaultCenter().addObserver(self, ...) 

实例 self添加为观察者。

答案 1 :(得分:0)

您正在检查一件事(self)是否响应选择器,然后添加另一件事(DisplayMangaViewController.self)作为观察者,它不响应选择器。所以请解释为什么你会认为这是Xcode的错,而不是你自己的错误。

调试的第一条规则:当出现问题时,你的错误。 做错了什么。找出做错了什么。有数百万开发人员使用Xcode。你是否真的认为如果它有这样的微不足道的错误,你会不会到处听到它?