gpt4 book ai didi

arrays - Xcode,大量 NsDictionary 消耗了我所有的 RAM

转载 作者:行者123 更新时间:2023-11-30 12:58:54 25 4
gpt4 key购买 nike

我的新应用程序有问题。我必须从 WebService 获取并解析一个大的 xml,使用 XmlToDictionary 使一切变得更容易。当我尝试构建我的应用程序时,如果我查看任务管理器,就会发现这是一个消耗我所有 RAM 的任务(“SourceKit”)。在互联网上搜索我认为我理解了这个问题:我的解析结果是一个大数组 NSDictionary ,具有“不明确”类型。

所以我的问题是:你知道管理这个 NSDictionary 数组的另一种方法吗?或者显式声明这个数组的方法?或者任何其他方式?这是我的代码:

 //The block of the HTTP connection for get the xml form the WebService.
operation.setCompletionBlockWithSuccess({ (operation, response) -> Void in

parser = response as? XMLParser
let XmlPars = XmlParsing()
XmlPars.parsing(parser: parser!)



}, failure: { (operation, error) -> Void in
print(error.localizedDescription)
})
operation.start()

func parsing (parser : XmlParser){
let xmlStruttureTipi = (dictionary["StruttureTipi"] as! NSDictionary)
let struttureTipi = (xmlStruttureTipi[xmlStruttureTipi.allKeys[0]] as! Array<NSDictionary>)
parseStruttureTipi(struttureTipi: struttureTipi)
}

func parseStrutture {

func parseStrutture(strutture : [NSDictionary]) {

let formatter = DateFormatter()
var ArrayStrutture = [Struttura]()
for struttura in strutture{
let s = Struttura()

formatter.dateFormat = "dd-MM-yyyy"
let data = formatter.date(from: struttura["DataAggiornamento"] as! String)!

if(struttura["DataAggiornamento"] != nil){s.DataAggiornamento = data}else{s.DataAggiornamento = formatter.date(from: "00-00-0000")}


if(struttura["Longitudine"] != nil){s.Longitudine = Double((struttura["Longitudine"] as? String)!)}else{s.Longitudine = 0.0}

if(struttura["Latitudine"] != nil){s.Latitudine = Double((struttura["Latitudine"] as? String)!)}else{s.Latitudine = 0.0}

if(struttura["Nome"] != nil)
{s.Nome = struttura["Nome"] as? String}
else{s.Nome = ""}

//A lot other proprety...

ArrayStrutture.append(s)
}

let repoStrutture = RepoStruture()
repoStrutture.insertStrutture(strutture: ArrayStrutture)

}

}

最佳答案

我自己解决了这个问题,问题是 NSDictionary 的声明:如果我将它分成两个 NSDictionary ,它就可以工作。我认为这是编译器的错误。

关于arrays - Xcode,大量 NsDictionary 消耗了我所有的 RAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40081591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com