iPhone应用程序仅在iOS10上崩溃,并将无法识别的选择器发送到实例

时间:2016-08-30 07:58:45

标签: ios objective-c iphone ios10

我有一个应用程序在iOS 9上的应用程序商店中正常运行。在设备上的iOS10测试版和Xcode 8模拟器中,当其中一个选项卡被点击时,它会崩溃。

它与错误

崩溃

[PXPlaceholderView titleLabel]:无法识别的选择器发送到实例

屏幕(DiaryItemsViewController)使用的.xib文件引用了PXPlaceholderView(一个UIView子类) enter image description here PXPlaceholderView具有initWithFrame和initWithCoder方法,似乎无法在iOS10上调用

在主屏幕(DiaryItemsViewController)中,我可以在PXPlaceholderView上设置背景确定,但无法设置插座

[self.placeholderView setBackgroundColor:[UIColor redColor]]; //works ok
self.placeholderView.titleLabel.text = NSLocalizedString(@"No Diary Entries", nil);  //crashes

占位符视图中的出口似乎在xib中正确设置并在Xcode 7 / ios 9中找到工作

enter image description here

PXPlaceholderView是DiaryItemsViewController的一个出口

@property (weak, nonatomic) IBOutlet PXPlaceholderView *placeholderView;

我对iOS10中发生的变化感到有点担心导致崩溃

2 个答案:

答案 0 :(得分:0)

如果PXPlaceholderView是UIView的子类,那么它何时获得titleLabel属性?这是您的问题,因为代码正在向您的PXPlaceholderView实例发送titleLabel消息,但它没有与该名称匹配的属性。

答案 1 :(得分:0)

重命名Placeholder类修复了此问题