我在这里已经阅读了很多关于弱连接的问题和答案,在执行代码之前检查一个类是否有效等等。我的应用程序基本上已经完成并准备就绪(至少我认为它是我商店的第一个应用程序)但是我需要解决这个问题,以便我的应用程序本身可以在iPad上运行。
我收到的错误如下: *由于未捕获的异常'NSInvalidUnarchiveOperationException'而终止应用程序,原因:'* - [NSKeyedUnarchiver decodeObjectForKey:]:无法解码类的对象(ADBannerView)'
我向你提出的问题是,我在我的课程标题中设置了一些IBOutlet属性。例如; @property(非原子,保留)IBOutlet ADBannerView * tollBanner;
尝试在iPad上运行应用时,此属性是否会导致问题?如果ADBannerView类不是nil,我在viewDidLoad方法中添加了一些条件。同样在我的dealloc方法中,我正在发布这些ADBannerView对象。
我很感激任何对此和TIA的帮助。
Ť
答案 0 :(得分:3)
对象的创建可能是从nib / xib派生的。
如果您的nib / xib需要在某些平台/ OS版本上可用的自定义类,则必须:
1)以编程方式添加
-OR -
2)创建多个nib(对于每个本地化),然后加载特定于当前运行时的nib
在大多数情况下,前者听起来更简单。(ps:callstack会帮助)
答案 1 :(得分:1)
根据ADBannerView
的{{3}}:
适用于iOS 4.0及更高版本。
iPad的iOS版本目前为3.2 *,因此您无法在iPad上使用此类。
* 4.2最近被播种给了开发人员(如果媒体报道是准确的),但无论硬件如何,你的应用程序都会在运行iOS 4.0之前的iDevices上崩溃。