将新的 Apple Framework 类适配到以前的 iOS SDK
Posted
技术标签:
【中文标题】将新的 Apple Framework 类适配到以前的 iOS SDK【英文标题】:Adapt a new Apple Framework class to a previous iOS SDK 【发布时间】:2011-11-10 16:56:29 【问题描述】:我正在使用一个新的 API 类,NSJSONSerialization,尤其是以下方法:
+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error
我想尽可能地坚持使用 Apple 提供的工具,但该课程仅适用于 ios 5。
有没有办法为 iOS 4 重新实现类及其方法,以便它可以使用完全相同的调用方法调用外部 JSON 框架 (JSONKit)?
id result = [NSJSONSerialization JSONObjectWithData:myData options:0 error:nil];
如果我创建一个具有相同名称的类(NSJSONSerialization),它将无法编译(重复接口)。
我也无法创建类别,因为它在 iOS 4 上不可用,它会简单地忽略任何与 NSJSONSerialization 相关的调用。
有什么帮助吗?
【问题讨论】:
那为什么不使用 JSONKit 呢? 因为就像我说的,我想尽可能地坚持使用 Apple 提供的工具。但是,是的,我想坚持使用 JSONKit 会更简单...... 【参考方案1】:IMO 你应该创建你的 on JSON 类并在其中检查 NSJSONSerialization 是否存在并使用它,否则回退到 JSONKit。
查看此AFNetworking implementation 了解想法
【讨论】:
好的。我想到了,但我想知道是否有另一种解决方案,比如为早期的 SDK 自己实现 NSJSONSerialization。 我认为自己重新实现标准 API 不是一个好主意。它会让你的代码更加混乱,而且没有明显的好处。以上是关于将新的 Apple Framework 类适配到以前的 iOS SDK的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 php 类 DOMDocument 将新的 xml 节点附加到现有的 .xml 文件?
IDEA插件系列(31):Legacy Icon Pack for 2018.2+插件——将新的单色图标更改为彩色的旧图标