我们可以将nsmutablestring附加到另一个nsmutablestring

时间:2010-11-27 19:45:39

标签: objective-c append nsmutablestring

NSMutableString *mSt1 = [[NSMutableString alloc] stringWithString:asong.at];
            NSMutableString *mSt = [[NSMutableString alloc] stringWithString:[mSt1 substringWithRange: NSMakeRange (0, 2)]];
            NSMutableString *mSt2 = [[NSMutableString alloc] stringWithString:[mSt1 substringWithRange: NSMakeRange (5, 2)]];
            NSMutableString *str = [mSt appendString:mSt2];
            [songsHrs addObject:str];
            [mSt release];
            [mSt1 release];
            [mSt2 release];

在第4行得到错误错误:无法忽略void值,因为它应该是

请帮帮我......

2 个答案:

答案 0 :(得分:1)

[mSt appendString:mSt2];

此方法的返回类型为void。它会修改您在其上调用它的NSMutableString(在这种情况下为mSt),但不返回任何内容。

所以不要指望一个回报值。删除NSMutableString *str,然后直接使用。

[songHrs addObject:mSt];

由于字符串是可变的,它只是在适当的位置改变自己。无需将结果保存在单独的变量中。实际上,这是使用NSMutableString代替NSString的全部内容。

答案 1 :(得分:1)

除了Squeegy已经写过关于追加的内容之外,你的第1,2和3行似乎也被打破了 - 你应该调用initWithString而不是stringWithString,或者使用stringWithString但不使用alloc。整个构造虽然很混乱,但实际上并没有意义 - 但这可能是为了测试目的。