1

我有一本字典。这是我的主要字典的结构:

The content of dictionary(
        {
        mondaysSales=     {
        totalSale = "1234.99";
    },
        tusdaySales= {
        totalSale = "1234.99";
    },
        wednesdaySale={
        totalSale = "1234.99";
    },
        thursdaySale{
        totalSale = "1234.99";
    },
        fridaySale{
        totalSale = "1234.99";
    }
)

但我想将每一天都用 day 键添加到数组中。例如:

这将是数组的条目之一:

        fridaySale{
        totalSale = "1234.99";
    }

你们中的任何人如何做到这一点?,我将非常感谢您的帮助。

4

5 回答 5

2

您可以遍历字典并将其添加到数组中。请注意,字典没有排序,您可能不会在工作日得到正确的顺序

NSMutableArray *array = [@[] mutableCopy]
for (NSString* key in dictionary) {
    id value = [dictionary objectForKey:key];
    [array addObject:value];
}
于 2013-07-15T16:25:09.313 回答
1

为什么不创建一个新的对象类型并将其添加到数组中?

存储对象.h:

@interface StorageObject:NSObject
@property (nonatomic, retain) NSString *day;
@property (nonatomic, retain) NSString *saleType;
@property (nonatomic, retain) NSNumber *saleValue;
@end

存储对象.m:

@implementation StorageObject
@synthesize
day = _day,
saleType = _saleType,
saleValue = _saleValue;

- (void)dealloc
{
    [_day release];
    [_saleType release];
    [_saleValue release];
    [super dealloc];
}
@end

现在只需使用以下命令遍历您的 NSDictionary:

for(NSString *key in [dictionary1 allKeys])
{
    NSDictionary *innerDictionary = [dictionary1 objectForKey:key];

}

对于该循环中返回的每个字典,实例化您的自定义存储对象并将其添加到数组中。

于 2013-07-15T17:12:23.870 回答
0

有一个简单的方法可以做到这一点,只是不要创建一个 NSDictionary 而是创建一个 NSArray,通过执行以下操作

NSArray *Array = @[@{@"friday sale, totalSale" : @"1234.99"}]

或者,如果您想从其中的其他任何内容中获取细节。

NSInteger value = 1;
NSArray *Array = @[@{ @"Friday sale, totalSale" : [NSString stringWithFormat:@"%ld", (long)value]}];

然后你从简单地说得到这个值,

NSString *somestring = Array["Friday sale, totalSale"];
于 2014-12-22T16:06:21.820 回答
0

我想出解决方案:

NSMutableDictionary *tempDict=[[NSMutableDictionary alloc]init];
[tempDict setObject:[mainDic objectForKey:key] forKey:key];
[myArray addObject:tempDict];
于 2013-07-15T23:27:02.893 回答
0

假设你有一本字典:

你可以做

NSMutableArray *list = [@[] mutableCopy]; 

for (NSString *key in [mainDictionary allKeys]) {
    NSDictionary *dict =  @{ 
                        key :  [mainDictionary objectForKey:key],   
                           };
    [list addObject:dict];
}
于 2013-07-15T17:02:29.487 回答