objectForKeyedSubscript:坠毁在iOS 5.1(objectForKeyedS

2019-07-04 02:50发布

我跑了一些代码,做了[NSDictionary的objectForKeyedSubscript:],它的崩溃在iOS 5,但不是的iOS 6,我使用的Xcode 4.5.2和反编译了iOS 6.0 SDK。

我认为,这将在iOS 5的工作,因为它只是一个编译器功能? 难道我错了? 我可以只写我自己的那些功能的版本,但我担心别的东西是错误的,因为我希望它的工作。

Answer 1:

在苹果开发者IOS的NSDictionary参考

可用在IOS 6.0及更高版本。



Answer 2:

OK,我要回答我自己的问题,虽然我不完全理解为什么它是失败。

使用objectForKeyedSubscript:和喜欢的作品在iOS 5的罚款运行(只要它是对iOS 6的SDK编译)。

问题是我命名的函数+(void)load ,使objectForKeyedSubscript:调用这个函数会导致由于未找到该方法的断言。

这是由于我的命名错误,因为load方法被称为应用程序完全运行之前。 我改变了函数的名字,一切都很好。

我假设+负载被称为前用的NSDictionary东西完全inited。 奇怪的是,它的工作原理的iOS 6下,只是没有的iOS 5。

也许这就是不奇怪。



Answer 3:

有预iOS6的软件开发工具包解决方法

这里结帐的问题: 有没有什么办法让利落的Objective-C文本索引功能在Xcode 4.4?



文章来源: objectForKeyedSubscript: crash on iOS 5.1