-2

所以我有以下 NSmutableArray:

Printing description of globals->_info:
<__NSCFArray 0x8a979c0>(
{
    rep = "name";
    PriceA = 150;
    PriceB = 150;
    nextInvoice = 1001000001;
},
{
    rep = "othername";
    PriceA = 150;
    PriceB = 150;
    nextInvoice = 1001000001;
}
)

如何将 nextInvoice 加一?

谢谢!

4

2 回答 2

2

这是一个(不可变)数组,其中包含某些字典类型的两个对象。假设字典是可变的然后去:

(假设它被命名为outerArray)

NSMutableDictionary *innerDict = [outerArray objectAtIndex:0];
NSNumber *aNumber  = [innerDict objectForKey:@"nextInvoice"];
NSNumber *bNumber  = [NSNumber numberWithInt: [aNumber intValue] +1];
[innerDict setObject:bNumber forKey:@"nextInvoice"];

根据您来自哪里,这种风格可能更容易阅读:(希望我做对了,不要经常使用它;如果有人发现错误 - 请随时编辑)

NSMutableDictionary *innerDict = outerArray [0];
NSNumber *aNumber  = innerDict [@"nextInvoice"];
NSNumber *bNumber  = @(aNumber intValue] +1);
innerDict[@"nextInvoice"] = bNumber;

但请注意,这只适用于外部数组中的内部字典实际上是可变的。

于 2013-10-27T18:00:50.180 回答
0

您的内部对象也是 NSDictionaries。

您可以改用 NSMutableDictionary。

但我认为是时候创建一个自己的类并使用数组中的实例了。

于 2013-10-27T17:50:33.700 回答