Ios 将值对追加到字典键
我正在读一个包含许多部分的文本文件。我想要一本像这样的字典:Ios 将值对追加到字典键,ios,xcode,swift,Ios,Xcode,Swift,我正在读一个包含许多部分的文本文件。我想要一本像这样的字典: stringArrayCompleteData['Objekt']['Mobile'] stringArrayCompleteData['Objekt']['address'] stringArrayCompleteData['Header']['devicenumber'] stringArrayCompleteData['Header']['departmentemailaddresse'] and much more
stringArrayCompleteData['Objekt']['Mobile']
stringArrayCompleteData['Objekt']['address']
stringArrayCompleteData['Header']['devicenumber']
stringArrayCompleteData['Header']['departmentemailaddresse']
and much more
但在我的loob中,总是不会附加新值,而是会覆盖这些值。然后我只有最后一个值
var stringArray = fullImportContent!.componentsSeparatedByString("\n")
var stringArrayCompleteData = Dictionary<String, Dictionary<String, Any>>()
var arrIndexSection : String = "NoHeader"
for singleRow in stringArray
{
if(singleRow != "")
{
switch singleRow {
case "#Header":
arrIndexSection = singleRow.stringByReplacingOccurrencesOfString("#", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
case "#Objekt":
arrIndexSection = singleRow.stringByReplacingOccurrencesOfString("#", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
case "#Baustelle":
arrIndexSection = singleRow.stringByReplacingOccurrencesOfString("#", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
case "#Auftraggeber":
arrIndexSection = singleRow.stringByReplacingOccurrencesOfString("#", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
case "#Architekt":
arrIndexSection = singleRow.stringByReplacingOccurrencesOfString("#", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
case "#Vermittler":
arrIndexSection = singleRow.stringByReplacingOccurrencesOfString("#", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
case "#Regulierer":
arrIndexSection = singleRow.stringByReplacingOccurrencesOfString("#", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
case "#Versicherung":
arrIndexSection = singleRow.stringByReplacingOccurrencesOfString("#", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
case "#Kontaktstellen":
arrIndexSection = singleRow.stringByReplacingOccurrencesOfString("#", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
case "#Dateien":
arrIndexSection = singleRow.stringByReplacingOccurrencesOfString("#", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
default:
//Here the multiple array would be filled
var arrSingleRow = singleRow.componentsSeparatedByString(";")
if( arrSingleRow.count > 0 )
{
if( arrIndexSection == "Kontaktstellen" )
{
//TODO: Kontaktstellen einlesen
//#Kontaktstellen
//Baustelle;0;348873;;;;0
//Baustelle;0;381263;;Albrecht;0815;0
//Regulierer/SV;0;171979;Josef;Eder;08546/911055;0
println( "Kontaktstellendaten" )
println( singleRow )
}
else if( arrIndexSection == "Dateien" )
{
//TODO: Dateien einlesen
//#Dateien
//11022015090007_BEmail_INNNUE_21102014141534.pdf; 99; Email an eva.nuhn@mbs-service.de
println( "Dateiendaten" )
println( singleRow )
}
else
{
stringArrayCompleteData[arrIndexSection] = [arrSingleRow[0]: arrSingleRow[1]]
以下是println()的结果
[Auftraggeber:[Telefon2:],监管人:[Telefon2:],Baustelle:[Telefon2:],版本:[Telefon2:01805],标题:[iPadNr:3E24-45B8-A2AC-7E3501BED78A],对象:[Weitererynweis:Test]]
钥匙:奥夫特拉格伯
关键词:调节器
钥匙:鲍斯特勒
关键字:Versicherung
关键字:标题
关键字:Objekt
我不能确切地理解你在做什么,但是。。。如果值是另一个字典,为什么要使用字典?使用数组字典不是更好吗 差不多
Dictionary<String, Array<Any>>()
这样,字典的键就是“节名”,数组的值(可以使用.append方法添加)就是这些值
希望这能帮助你,如果你不想澄清你希望从你的代码中得到什么样的输入和输出,我知道你不是一个母语为英语的人,但是很难理解你真正需要什么
再见!
D
Dictionary<String, Array<Any>>()
[String:[Any]]()