在 NSMutableArray 中添加元素后,先前的元素将被替换
After adding element in NSMutableArray previous elements gets replaced
我正在开发应用程序,我想在其中创建包含 NSDictionary 数量的数组。当我尝试在 NSMutableArray 中添加 NSMutableDictionary 时,该数组之前添加的元素将被替换。我不知道发生了什么。代码如下:
var paynowArray = NSMutableArray()
let tempDict = NSMutableDictionary()
for i in 0...selectedEmenetsArray.count-1 {
tempDict.removeAllObjects()
tempDict.setValue(selectedIdAry[i], forKey: "serviceId")
tempDict.setValue(selectedAmountAry[i], forKey: "serviceAmount")
paynowArray.add(tempDict)
}
print(paynowArray)
在打印最后添加的 NSMutableDictionary 数组时打印 n 次。
提前致谢。
在 for 循环内创建 tempDict。您应该为每个元素分配字典。否则你每次都会替换相同的内存位置值。
var paynowArray = NSMutableArray()
for i in 0...selectedEmenetsArray.count-1 {
var tempDict = NSMutableDictionary()
tempDict.setValue(selectedIdAry[i], forKey: "serviceId")
tempDict.setValue(selectedAmountAry[i], forKey: "serviceAmount")
paynowArray.add(tempDict)
}
print(paynowArray)
应该在循环内..
let tempDict = NSMutableDictionary()
我正在开发应用程序,我想在其中创建包含 NSDictionary 数量的数组。当我尝试在 NSMutableArray 中添加 NSMutableDictionary 时,该数组之前添加的元素将被替换。我不知道发生了什么。代码如下:
var paynowArray = NSMutableArray()
let tempDict = NSMutableDictionary()
for i in 0...selectedEmenetsArray.count-1 {
tempDict.removeAllObjects()
tempDict.setValue(selectedIdAry[i], forKey: "serviceId")
tempDict.setValue(selectedAmountAry[i], forKey: "serviceAmount")
paynowArray.add(tempDict)
}
print(paynowArray)
在打印最后添加的 NSMutableDictionary 数组时打印 n 次。
提前致谢。
在 for 循环内创建 tempDict。您应该为每个元素分配字典。否则你每次都会替换相同的内存位置值。
var paynowArray = NSMutableArray()
for i in 0...selectedEmenetsArray.count-1 {
var tempDict = NSMutableDictionary()
tempDict.setValue(selectedIdAry[i], forKey: "serviceId")
tempDict.setValue(selectedAmountAry[i], forKey: "serviceAmount")
paynowArray.add(tempDict)
}
print(paynowArray)
应该在循环内..
let tempDict = NSMutableDictionary()