NSMutableString附加不起作用

时间:2014-01-16 23:10:51

标签: ios objective-c nsmutablestring

我有以下代码将字符串数组转换为字符串

-(NSString *) arrayToString:(NSMutableArray *) array {
    NSMutableString *strFinal = [[NSMutableString alloc] init ];

    for(int i =0; i < [array count]; i ++){
        NSLog(@"ARRAY STRING %@", [array objectAtIndex:i]);
        [strFinal appendString:[array objectAtIndex:i]];
    }
    return strFinal;
}

当我运行代码时,它正确地附加了从服务器检索的20个左右的字符串(它们是base64编码图像字符串的子字符串),但是当我尝试附加它们时它只给出了第一个和最后一个附加在一起的字符串?

Nslog为每个数组元素返回正确的nsstring

3 个答案:

答案 0 :(得分:2)

您可以使用NSArray的{​​{1}}方法完全绕过您的方法:

componentsJoinedByString:

答案 1 :(得分:1)

这不会回答问题本身,但您不必自己这样做。

NSArray -componentsJoinedByString:

例如

strFinal = [array componentsJoinedByString:@""];

答案 2 :(得分:0)

这对我有用,你能仔细检查一下你的输入吗?

- (void)test
{
    NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"one", @"two", @"three",nil];
    NSLog([self arrayToString:array]);
}

-(NSString *) arrayToString:(NSMutableArray *) array {
    NSMutableString *strFinal = [[NSMutableString alloc] init ];

    for(int i =0; i < [array count]; i ++){
        NSLog(@"ARRAY STRING %@", [array objectAtIndex:i]);
        [strFinal appendString:[array objectAtIndex:i]];
    }
    return strFinal;
}

的NSLog

Rover[64422:907] ARRAY STRING one
Rover[64422:907] ARRAY STRING two
Rover[64422:907] ARRAY STRING three
Rover[64422:907] onetwothree
相关问题