簡體   English   中英

如何從NSDictionary獲取值並將其移動到NSArray

[英]How get a value from NSDictionary and move it to an NSArray

我敢肯定,這個問題已經在這里問過數十遍了,但是我似乎找不到任何與我所需要的接近的東西。 我在解決此問題時遇到了一些問題。 我需要從NSDictionary獲取一個值並將其放入NSArray

    NSDictionary *dictionary = @{@"ID1":@{
                                   @"mainPhone": @"<number>",
                                   @"Address": @"<address>",
                                   @"City": @"<Tulsa, OK>",
                                   @"Date": @"1-1-2017",
                                   @"Person1": @{
                                               @"First": @"<FirstName>",
                                               @"Last":  @"<LastName>",
                                               @"Phone": @"<number>",
                                               @"Email": @"email@gmail.com",
                                               @"Birth": @"<date>",
                                               @"ID":    @"12345",
                                   },
                                   @"Person2": @{
                                               @"First": @"<FirstName>",
                                               @"Last":  @"<LastName>",
                                               @"Phone": @"<number>",
                                               @"Email": @"email@gmail.com",
                                               @"Birth": @"<date>",
                                               @"ID":    @"12345",
                              },
                              @"ID2":@{
                                   @"mainPhone": @"<number>",
                                   @"Address": @"<address>",
                                   @"City": @"<Tulsa, OK>",
                                   @"Date": @"1-1-2017",
                                   @"Person3": @{
                                               @"First": @"<FirstName>",
                                               @"Last":  @"<LastName>",
                                               @"Phone": @"<number>",
                                               @"Email": @"email@gmail.com",
                                               @"Birth": @"<date>",
                                               @"ID":    @"12345",
                                   },
                                   @"Person4": @{
                                               @"First": @"<FirstName>",
                                               @"Last":  @"<LastName>",
                                               @"Phone": @"<number>",
                                               @"Email": @"email@gmail.com",
                                               @"Birth": @"<date>",
                                               @"ID":    @"12345",
                              },
              };

在上面的示例字典中,我需要在第三層字典下獲取鍵First並將其加載到數組中。 標記有IDPerson的詞典將被分配單獨的ID號,這是唯一不是靜態的鍵。 提前致謝。

為此,您可以循環瀏覽字典和第一個idKey,然后訪問該字典並通過循環訪問其詳細信息。

for (NSString *key in dictionary) {
    NSDictionary *idDic = [dictionary objectForKey:key];
    for (NSString *idDicKey in idDic) {
        if ([[idDic objectForKey:idDicKey] isKindOfClass:[NSDictionary class]]) {
            NSString *firstName = [dictionary valueForKeyPath:[NSString stringWithFormat:@"%@.%@.First",key, idDicKey]];
            NSLog(@"%@",firstName);
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM