我跑了一些代码,做了[NSDictionary的objectForKeyedSubscript:],它的崩溃在iOS 5,但不是的iOS 6,我使用的Xcode 4.5.2和反编译了iOS 6.0 SDK。
我认为,这将在iOS 5的工作,因为它只是一个编译器功能? 难道我错了? 我可以只写我自己的那些功能的版本,但我担心别的东西是错误的,因为我希望它的工作。
我跑了一些代码,做了[NSDictionary的objectForKeyedSubscript:],它的崩溃在iOS 5,但不是的iOS 6,我使用的Xcode 4.5.2和反编译了iOS 6.0 SDK。
我认为,这将在iOS 5的工作,因为它只是一个编译器功能? 难道我错了? 我可以只写我自己的那些功能的版本,但我担心别的东西是错误的,因为我希望它的工作。
在苹果开发者IOS的NSDictionary参考
可用在IOS 6.0及更高版本。
OK,我要回答我自己的问题,虽然我不完全理解为什么它是失败。
使用objectForKeyedSubscript:
和喜欢的作品在iOS 5的罚款运行(只要它是对iOS 6的SDK编译)。
问题是我命名的函数+(void)load
,使objectForKeyedSubscript:
调用这个函数会导致由于未找到该方法的断言。
这是由于我的命名错误,因为load方法被称为应用程序完全运行之前。 我改变了函数的名字,一切都很好。
我假设+负载被称为前用的NSDictionary东西完全inited。 奇怪的是,它的工作原理的iOS 6下,只是没有的iOS 5。
也许这就是不奇怪。
有预iOS6的软件开发工具包解决方法
这里结帐的问题: 有没有什么办法让利落的Objective-C文本索引功能在Xcode 4.4?