gpt4 book ai didi

ios - NSMutableArrays 只存储 2 个对象

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

我有一个奇怪的问题 - 我的可变数组只存储 2 个对象 - 它的计数是 1,2,2,2 并且不会改变。我唯一的观察是它总是取代旧值 f.x.我有:value1 - 2,value2 - 4,我添加下一个对象 f.x。 66,我的数组如下所示:value1 - 4,value2 - 66。这是一些代码:

func appendArrays(product: NSString, bPrice: NSString, sPrice: NSString) {
defaults.synchronize()
if prodArr.count == 0 {
prodArr = NSMutableArray(array: [defaults.valueForKey(keys.keyProduct)!])
bpArr = NSMutableArray(array: [defaults.valueForKey(keys.keyBPrice)!])
spArr = NSMutableArray(array: [defaults.valueForKey(keys.keySPrice)!])
}

prodArr.addObject(product)
bpArr.addObject(bPrice)
spArr.addObject(sPrice)

defaults.setObject(prodArr, forKey: keys.keyProduct)
defaults.setObject(bpArr, forKey: keys.keyBPrice)
defaults.setObject(spArr, forKey: keys.keySPrice)

defaults.synchronize()
NSLog("%i",[defaults.valueForKey(keys.keyBPrice)!].count)
}

最佳答案

当然,您不能拥有超过两个对象,因为您的 spArr 是在本地声明的,这意味着您每次调用 时都会创建一个新的 spArr 对象追加数组。您需要在函数外部创建它 var spArr: NSMutableArray = NSMutableArray() 而不是执行以下操作:

spArr   = NSMutableArray(array: [defaults.valueForKey(keys.keySPrice)!])

spArr.addObject([defaults.valueForKey(keys.keySPrice)!])

关于ios - NSMutableArrays 只存储 2 个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30900445/

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