解析/提取和;结合来自NSMutableArray的字符串

时间:2012-10-27 14:06:57

标签: ios nsstring nsmutablearray

我试图找出如何做到这一点......

我有一个从RSS源填充的NSMutable数组,如下所示:

第1项(日期,标题,说明)

第2项(日期,标题,说明)

第3项(日期,标题,说明)

等...

我正在尝试做的是循环它并创建一个字符串以供在 动画代码如下:

项目1日期 - 项目1标题[几个空格]项目2日期 - 项目2标题[几个空格]等.....

我理解如何从数组中提取单个元素 - 例如:

NSString *testString1 = [[_parseResults objectAtIndex:0] objectForKey:@"date"];
NSString *testString2 = [[_parseResults objectAtIndex:0] objectForKey:@"title"];

但是我最好的方法是循环整个事情并构建组合字符串 - 即项目1日期+“ - ”+项目1标题+项目2日期+“ - ”+项目2标题等?

2 个答案:

答案 0 :(得分:0)

如果你想循环它们,一个简单的方法可能是这样的:

NSString* finalStr = nil;
for (int i = 0; i < [_parseResults count]; i++)
{
    NSDictionary* nextItem = [_parseResults objectAtIndex:i];
    NSString* dateStr = [nextItem objectForKey:@"date"]; // You might want to make the keys be named constants
    NSString* titleStr = [nextItem objectForKey:@"title"];
    ...
    finalStr = [finalStr stringByAppendingFormat:@"\t%@-%@", dateStr, titleStr];
}

最后,finalStr将包含您想要的整个字符串。

答案 1 :(得分:0)

您可以使用快速枚举,让编译器选择最佳方式来遍历数组元素。

for(NSDictionary *rssItem in _parseResults)
{
    NSString* dateString = [rssItem objectForKey:@"date"];
    NSString* titleString = [rssItem objectForKey:@"title"];
    result = [result stringByAppendingFormat:@" %@-%@", dateString, titleString];
}