我發現這個代碼返回可變其中返回值應該是不可變的
-(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;