更新 NSarray 中特定键的值
Update Value of Particular Key Inside NSarray
我正在使用 NSArray
array = [
{
"name": "Kavin",
"Age": 25,
"is_married": "true"
},
{
"name": "Kumar",
"Age": 25,
"is_married": "false"
}
]
在此需要将update/change数组[0]"is_married"设为false。这意味着我需要将 Kavin 的已婚状态更新为 false。怎么可能。
您不能更新 NSArray 中的值,它是不可变的。
但是你可以这样做。
在Objective C
NSArray *array = // your array
NSMutableArray *arrayM = [array mutableCopy];
NSMutableDictionary *dic = (NSMutableDictionary*)arrayM.firstObject;
[dic setObject:@"false" forKey:@"is_married"];
[arrayM replaceObjectAtIndex:0 withObject:dic];
array = arrayM;
此处获取更新数组对象。
在Swift
数组必须用 var 声明,不允许。
var array = [
[
"name" : "Kavin",
"Age": 25,
"is_married": "true"
],
[
"name" : "Kumar",
"Age" : 25,
"is_married": "false"
]]
array[0].updateValue("false", forKey: "is_married")
此处获取更新数组对象
终于得到一些完美的代码:
let DuplicateArray: NSArray = array
let DuplicateMutableArray: NSMutableArray = []
DuplicateMutableArray.addObjectsFromArray(DuplicateArray as [AnyObject])
var dic = (DuplicateMutableArray[0] as! [NSObject : AnyObject])
dic["is_married"] = "false"
DuplicateMutableArray[self.SelectedIndexPath] = dic
array = []
array = (DuplicateMutableArray.copy() as? NSArray)!
输出如下:
array = [
{
"name": "Kavin",
"Age": 25,
"is_married": "false"
},
{
"name": "Kumar",
"Age": 25,
"is_married": "false"
}
]
我正在使用 NSArray
array = [
{
"name": "Kavin",
"Age": 25,
"is_married": "true"
},
{
"name": "Kumar",
"Age": 25,
"is_married": "false"
}
]
在此需要将update/change数组[0]"is_married"设为false。这意味着我需要将 Kavin 的已婚状态更新为 false。怎么可能。
您不能更新 NSArray 中的值,它是不可变的。 但是你可以这样做。
在Objective C
NSArray *array = // your array
NSMutableArray *arrayM = [array mutableCopy];
NSMutableDictionary *dic = (NSMutableDictionary*)arrayM.firstObject;
[dic setObject:@"false" forKey:@"is_married"];
[arrayM replaceObjectAtIndex:0 withObject:dic];
array = arrayM;
此处获取更新数组对象。
在Swift
数组必须用 var 声明,不允许。
var array = [
[
"name" : "Kavin",
"Age": 25,
"is_married": "true"
],
[
"name" : "Kumar",
"Age" : 25,
"is_married": "false"
]]
array[0].updateValue("false", forKey: "is_married")
此处获取更新数组对象
终于得到一些完美的代码:
let DuplicateArray: NSArray = array
let DuplicateMutableArray: NSMutableArray = []
DuplicateMutableArray.addObjectsFromArray(DuplicateArray as [AnyObject])
var dic = (DuplicateMutableArray[0] as! [NSObject : AnyObject])
dic["is_married"] = "false"
DuplicateMutableArray[self.SelectedIndexPath] = dic
array = []
array = (DuplicateMutableArray.copy() as? NSArray)!
输出如下:
array = [
{
"name": "Kavin",
"Age": 25,
"is_married": "false"
},
{
"name": "Kumar",
"Age": 25,
"is_married": "false"
}
]