Swift3、XCode8、iOS10 的 Swifty JSON 性能下降

标签 swift ios10 swifty-json

我一直在我的应用程序中使用 SwiftyJSON 进行 JSON 解析。我最近将我的应用程序升级到 Swift3 并观察到严重的性能问题。我试图将问题隔离到一个小项目中。我正在考虑切换到不同的库或使用 native (但这在我的应用程序中需要大量工作),但想看看社区中是否有人观察到类似的问题。感谢您提供任何帮助,并提前致谢。

下面的代码过去在 Swift2 中花费亚秒,但在使用 Swift3 的发布可执行文件中花费 15 秒:

func parseSampleJson() {
        let st = NSDate()

        let file:NSString = Bundle.main.path(forResource: "testJson", ofType: "json")! as NSString
        let jsonData:NSData = NSData.dataWithContentsOfMappedFile(file as String) as! NSData
        let json = JSON(data: jsonData as Data)

        let dataJson = json["data"]
        for (_, subJson): (String, JSON) in dataJson {
//            NSLog("Name = " + subJson["Name"].stringValue)
            let castes = subJson["Castes"]
            for (_, cn): (String, JSON) in castes {
//                NSLog("  Name = " + cn["Name"].stringValue)
            }
        }
        let et = NSDate()
        let timeTaken = et.timeIntervalSince(st as Date)
        NSLog("******* Time taken = \(timeTaken)")
    }

完整项目在 github 上 https://github.com/good2best123/SwiftyJSONTest .

最佳答案

你能尝试升级到版本 3.1.3 吗?问题已解决there

关于Swift3、XCode8、iOS10 的 Swifty JSON 性能下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39900941/

相关文章:

json - 如何根据之前的选择器 View 选择更新PickerView数据

swift - 如何声明泛型基类?

ios - 如何快速更改标签栏未选中图标的颜色?

ios - SVProgressHUD 没有显示在屏幕中央?

json - 使用 SwiftyJSON 解析 json

mysql - 我如何使用 SwiftyJSON 在 Swift 中解析这个 JSON 对象?

ios - swift 3 : display the Json data inside arrays

ios - 导航栏色调不透明度不会改变颜色

ios - 以编程方式从 iMessage 扩展程序中删除消息

swift - iOS 10 - NSKeyValueObservation 在 deinit 时崩溃