【问题标题】:NSMutableString append is not working [duplicate]NSMutableString 附加不起作用[重复]
【发布时间】:2012-09-12 06:53:31
【问题描述】:

可能重复:
Objective-C: How do you append a string to an NSMutableString?

我有一个 NSMutableArray。我想提取这个 NSMutable 数组的所有元素并将其附加到一个字符串中。我的以下代码不起作用。字符串不附加到变量。我也在这个项目中使用自动引用计数功能。

NSMutableString *theString = [NSMutableString string];

for(int i=0; i<[self.incomingMessages count]; i++) {
      id object = [self.incomingMessages objectAtIndex: i];
      [theString appendString:(NSString*)object];
}

NSLog(@"the appended string: %@", theString);
[self.incomingMessages removeAllObjects];

如何将存储的字符串附加到 theString 变量中。我犯了什么错误?

【问题讨论】:

  • 错误信息是什么?
  • 正如他的链接指出的那样,可能存在分配问题。
  • 你确定对象是 NSString 类型的吗?对此进行测试:[object isKindOfClass: [NSString class]]
  • incomingMessages 属性中有多少个对象? theString 是有效指针还是只有 nil?

标签: iphone objective-c xcode4.2


【解决方案1】:

这样做

 NSMutableString *theString = [[NSMutableString alloc]init ];

尝试打印并查看您的对象是否为字符串

【讨论】:

  • 我打印了。该对象是一个字符串。因此“对象”变量没有问题。我试过 [[NSMutableString alloc]init ] 但仍然没有附加字符串。
  • 所以您确定incomingMessages 数组中的所有对象都是字符串?
  • 已经有一个由[NSMutableString string]创建的NSMutableString。
【解决方案2】:

也许你需要像这样初始化你的theString?

NSMutableString *theString = [NSMutableString stringWithString:@""];

【讨论】:

  • 我试过这个。但没有成功
  • 已经用[NSMutableString string]创建了一个字符串。
猜你喜欢
  • 2014-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多