IOS 应用程序性能太慢,无法使用 swiftyjson 解析数据

IOS app Performance is too slow for parse data with swiftyjson

我使用 swift 创建了应用程序,并为此使用了 swiftyjson。但是当我解析图像时它有点慢我怎样才能提高它的速度。你能帮我一下吗?我会在下面分享我的代码谢谢。

func parseJSON() {



        let path : String = NSBundle.mainBundle().pathForResource("jsonFile", ofType: "json") as String!
        let jsonData = NSData(contentsOfFile: path) as NSData!
        let readableJSON = JSON(data: jsonData, options: NSJSONReadingOptions.MutableContainers, error: nil)
        var Name = readableJSON[passedValue,"Product","Ad"]

        NumberofRow = readableJSON[passedValue].count




        for i in 1...NumberofRow {
            var Person = "Product"
            Person += "\(i)"
            var Name = readableJSON[passedValue][Person]["Ad"].string as String!

            var Age = readableJSON[passedValue][Person]["Fiyat"].string as String!

             var Image1 = readableJSON[passedValue][Person]["URL"].string as String!


            NamesArray.append(Name)
            AgeArray.append(Age)
            Imagearray.append (Image1)

        }


    }

您可以在后台线程中调用函数 parseJSON 并在其完成后 return 返回主线程(以相应地更新 UI 或其他内容)。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
    // Perform data parsing
    parseJSON()

    dispatch_async(dispatch_get_main_queue(), { () -> Void in
        // Update UI on main thread
    })
})

如果您想尝试这种方法,我建议您使用开源框架,以便更轻松地使用 GCD。例如 https://github.com/duemunk/Async。如果你使用这个框架,你可以像下面这样简单地写。

Async.background {
    // Perform data parsing
    parseJSON()
}.main {
    // Update UI on main thread
}

希望对您有所帮助。