如何从 NSMutableArray 中获取字符串值

Posted

技术标签:

【中文标题】如何从 NSMutableArray 中获取字符串值【英文标题】:How do I get String value out of NSMutableArray 【发布时间】:2010-02-26 00:19:05 【问题描述】:

代码:

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

menuList 是一个 NSMutableArray。

我想稍后在代码中读取 PropertySubtype2fTitle 本地化字符串,例如:

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

【问题讨论】:

【参考方案1】:

要从 NSDictionary 中获取条目,您可以使用

[NSDictionary objectForKey:(id)keyValue]
。要从 NSArray / NSMutableArray 中获取条目,可以使用
[NSArray objectAtIndex:(NSUInteger)index]
。结合并应用于您的示例应该是:
NSString *title = [[menuList objectAtIndex:index] objectForKey:kTitleKey];
而 index 将是一个无符号整数(NSUInteger)。

【讨论】:

【参考方案2】:

为什么不直接使用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);

【讨论】:

以上是关于如何从 NSMutableArray 中获取字符串值的主要内容,如果未能解决你的问题,请参考以下文章

如何对日期对象的 NSMutableArray 进行排序

如何将字符串从 NSMutableArray 传递给 double

从 NSMutableArray 比较并获取索引

如何获取 NSMutableArray 特定对象

如何获取 NSMutableArray 的 indexPath 值?

从 NSMutableArray 中删除随机项