在iOS中以无序方式插入数据

在iOS中以无序方式插入数据,ios,nsdictionary,plist,objective-c-blocks,Ios,Nsdictionary,Plist,Objective C Blocks,我试图通过从plist获取样本数据,将其插入核心数据。 但这些数据并没有按顺序插入 下面是我的plist结构 下面是我尝试的代码 任何人都可以建议我如何在插入数据时在此处获取有序值。如果您希望以固定顺序从NSDictionary检索值,则需要对用于检索这些值的键进行排序。这是因为字典基本上是无序的数据结构 因此,这里有一种方法(还有其他排序键的方法): NSDictionary在存储键值对时不提供顺序—这就是集合和哈希映射/字典的方式work@iLearner没有什么。默认的实现可以很好地工作

我试图通过从plist获取样本数据,将其插入核心数据。 但这些数据并没有按顺序插入

下面是我的plist结构

下面是我尝试的代码


任何人都可以建议我如何在插入数据时在此处获取有序值。

如果您希望以固定顺序从
NSDictionary
检索值,则需要对用于检索这些值的键进行排序。这是因为字典基本上是无序的数据结构

因此,这里有一种方法(还有其他排序键的方法):


NSDictionary在存储键值对时不提供顺序—这就是集合和哈希映射/字典的方式work@iLearner没有什么。默认的实现可以很好地工作。我尝试了这个,但是仍然得到了与->3,1,2相同的无序序列,而我期望输出为1,2,3。请建议。
NSArray *aArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"SampleData" ofType:@"plist"]];

    for (NSDictionary *aDict in aArray ) 
    {

        [aDict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop)
        {
            //--- UPDTATE -->>
            // while debugging I found one issue that -  
            //Here "obj" has three array - Sample List 1C,Sample List 1A,Sample List 1B
            // This should be Sample List 1A,Sample List 1B,Sample List 1C

            NSDictionary *aSubDict = (NSDictionary *)obj;
            NSMutableArray *aMutCheckpoint = [NSMutableArray array];

            //.… below is my logic for core data insertion…

        }]; 
    }
for (NSDictionary *aDict in aArray) 
{
    NSArray *sortedKeys = [[aDict allKeys] sortedArrayUsingSelector:@selector(compare:)];
    for (NSString *key in sortedKeys)
    {        
        id obj = aDict[key];
        // etc.
    }
}