【问题标题】:NSMutableString Append Not WorkingNSMutableString 附加不起作用
【发布时间】:2014-02-06 03:06:40
【问题描述】:

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

-(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

【问题讨论】:

  • 你确定所有的数组对象都是字符串吗?您可以使用以下方式进行检查:[[array objectAtIndex:i] isKindOfClass:[NSString class]]
  • 什么是 NSLog 输出?

标签: ios objective-c nsmutablestring


【解决方案1】:

您可以通过使用NSArraycomponentsJoinedByString: 方法完全绕过对您的方法的需求:

NSString *result = [array componentsJoinedByString:@""];

【讨论】:

    【解决方案2】:

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

    NSArray -componentsJoinedByString:

    例如。

    strFinal = [array componentsJoinedByString:@""];

    【讨论】:

      【解决方案3】:

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

      - (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
      

      【讨论】:

      • 那会是我的输入吗?字符串很大,因为它是一个 uiimage base64 编码成字符串?
      • 同样,nslog 适用于 base 64 字符串的块,但附加不起作用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 2013-09-29
      • 2017-02-25
      相关资源
      最近更新 更多