在 UITextView 中将 NSMutableArray 对象显示为文本



嘿,我正在尝试将NSMutableArray中的对象显示为UITextView中的文本,但遇到了问题:

Invalid operands to binary expression ('void' and 'NSString *')   

有什么建议可以做到吗?

这是代码:

for (id obj in Mview.arrayTape)
viewTape.text = Mview.arrayTape.removeLastObject + @"/n" + viewTape.text;

viewTape 是一个 UITextView ,arrayTape 是从另一个视图传递的 NSMutableArray

任何帮助将不胜感激。

removeLastObject不返回任何内容(void),并且您正在附加它的结果以创建一个新字符串:

viewTape.text = Mview.arrayTape.removeLastObject + @"/n" + 查看磁带文本;

试试这个: ( untested

for (NSString* obj in Mview.arrayTape)
{
    viewTape.text = [viewTape.text stringByAppendingFormat:@"%@n", obj];
}

假设obj是一种NSString,如果不使用它对应的字符串表示。

编辑

其他解决方案尚未提供的另一种方法,无需使用 for loop

 viewTape.text = [Mview.arrayTape componentsJoinedBy:@"n"]

Mview.arrayTape.removeLastObject具有返回类型void即它没有返回值。而且您不能将任何内容与字符串连接起来,因为void没有类型(或类)。

我想你想要的是这个:

viewTape.text = [NSString stringWithFormat:@"%@n%@",(NSString *)Mview.arrayTape.lastObject,viewTape.text];

如果需要,您可以在之后删除最后一个对象:

[Mview.arrayTape removeLastObject];

这是因为此方法removeLastObject不返回任何内容,请看这里。您应该获取最后一个对象并获取字符串值将其添加(附加)到文本视图中的文本并在需要时删除

最新更新