我用“斯威夫特”创建了应用程序,并使用了“迅捷”。但是当我解析图像时,它有点慢,如何提高速度。你能帮我一下吗?我将在下面分享我的代码,谢谢。
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)
}
}发布于 2016-03-12 16:00:01
您可以在后台线程中调用函数parseJSON,并在它完成后返回到主线程(相应地更新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
}希望它能帮到你。
https://stackoverflow.com/questions/35876192
复制相似问题