我发现这个代码返回可变其中返回值应该是不可变的
-(NSString *) genRandStringLength: (int) len {
NSMutableString *randomString = [NSMutableString stringWithCapacity: len];
for (int i=0; i<len; i++) {
[randomString appendFormat: @"%C", [letters characterAtIndex: arc4random() % [letters length]]];
}
return randomString;
}
是它确定传递一个可变对象,其中,所述结果是不可变的?
我们应该怎么做?
return [randomString copy];
或
return randomString;