NSArray和NSDictionary

use*_*477 0 objective-c nsdictionary nsarray

我有一个NSDictionary,我必须将它添加到NSArray.我该怎么做?

NSDictionary *row = [NSDictionary dictionaryWithObjectsAndKeys:
     [NSString stringWithFormat:@"%@",NSLocalizedString(@"no_favorites", nil)], @"Address", nil];
Run Code Online (Sandbox Code Playgroud)

如果我使用:

    aFavorite = [row allValues];
Run Code Online (Sandbox Code Playgroud)

如果我被打印了,我得到了:

(
"No favorites added"
)
Run Code Online (Sandbox Code Playgroud)

我需要的是:

  (
    {
    Address = "No favorites added";
 }
 )
Run Code Online (Sandbox Code Playgroud)

因为我会用:

NSDictionary* dict = [aFavorite objectAtIndex:[indexPath row]];
 NSString *contentForThisRow = [dict objectForKey:@"Address"];
Run Code Online (Sandbox Code Playgroud)

dict值可以有1或2个键.

Sca*_*car 7

要转换字典,您可以使用它的方法:

myArray = [[NSArray alloc] initWithArray:[myDic allValues]];
Run Code Online (Sandbox Code Playgroud)

UPDATE

如果要添加dic以便检索它并使用键来检索值,请使用NSMutableArray如下所示:

NSMutableArray *myArray = [[NSMutableArray alloc] init];
[myArray addObject:myDic];
Run Code Online (Sandbox Code Playgroud)

然后简单地通过使用以下方式检索dic:

NSDictionary *myDic = [myArray objectAtIndex:indexPath.row];
NSString *value = [myDic objectForKey:@"myValue"];
Run Code Online (Sandbox Code Playgroud)