例外:在IOS 8中发送到实例解除视图控制器的无法识别的选择器

时间:2014-09-17 14:37:34

标签: objective-c ios7 ios8

我已使用以下代码

在当前视图中成功打开另一个视图
 OptionsViewController *optionView = [[OptionsViewController alloc] initWithNibName:IS_IPAD()?@"OptionsViewController_ipad":@"OptionsViewController" bundle:nil];

        [self.navigationController presentViewController:optionView animated:YES completion:Nil];

他们正在尝试使用以下代码关闭OptionsViewController中的当前视图。但是我在IOS 8中获得"unrecognized selector sent to instance"和应用程序崩溃但是较低版本它运行正常。请帮我解决。

请查看以下链接,查看例外消息http://pastebin.com/R4M3MxmM

- (IBAction)cancelOption:(id)sender
    {

        [self dismissViewControllerAnimated:YES completion:Nil];
    }

2 个答案:

答案 0 :(得分:0)

跟踪显示您的问题在[LeftSideBarViewController tableView:numberOfRowsInSection:]。显然,你要求count的东西,但那个东西目前是UITraitCollection,我猜,这不是你所期望的。

最可能的解释是,您尝试计算的内容已被释放并且其内存已被重用。

如果不明显,请运行带有僵尸的Instruments并查看所涉及对象的保留/释放历史记录。 (或者从崩溃方法发布代码。)

答案 1 :(得分:0)

该对象的

:count 不存在。

https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UITraitSet_ClassReference/index.html

UITraitCollection没有名为 count 的实例方法。