Как мне получить строковое значение из NSMutableArray - PullRequest
0 голосов
/ 26 февраля 2010

Код:

[self.menuList addObject:[NSDictionary dictionaryWithObjectsAndKeys:
                                       NSLocalizedString(@"PropertySubtype2fTitle", @""), 
                                       kTitleKey,
                                       publishNoOfRoomsViewController, 
                                       kViewControllerKey, nil]];

menuList является NSMutableArray.

Я хочу прочитать локализованную строку PropertySubtype2fTitle позже в коде, например:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

Ответы [ 2 ]

8 голосов
/ 26 февраля 2010

Чтобы получить запись из NSDictionary, вы можете использовать

[NSDictionary objectForKey:(id)keyValue]
. Чтобы получить запись из NSArray / NSMutableArray, вы можете использовать
[NSArray objectAtIndex:(NSUInteger)index]
. В сочетании и применительно к вашему примеру это должно быть:
NSString *title = [[menuList objectAtIndex:index] objectForKey:kTitleKey];
тогда как index будет целым числом без знака (NSUInteger).
0 голосов
/ 29 декабря 2013

Почему бы непосредственно не использовать NSMutableDictionary?

Например:

NSData *getData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:strURL]];
NSError *errorData;
NSMutableDictionary *dicData = [NSJSONSerialization
                                     JSONObjectWithData:getData
                                     options:NSJSONReadingMutableContainers
                                     error:&errorData];

if( errorData )
{
    NSLog(@"%@", [errorData localizedDescription]);
}
else {

    NSString *title =   [[dicData[@"items"] objectAtIndex:1] objectForKey:@"titlekey"];
    NSLog(@"titlekey %@",title);
}
...