为什么我的NSMutableString可能不安全?

时间:2012-09-11 17:11:50

标签: objective-c cocoa-touch nsmutablestring

为什么我的NSMutableString可能不安全?我搜索了这个,但找不到任何东西。

int hour = [number intValue] / 3600; 

NSMutableString *time = [[NSMutableString alloc] initWithString:@""];

if (hour < 9) {
    [time appendFormat:@"0"];
    [time appendFormat:[NSMutableString stringWithFormat:@"%d:", hour]];
}

它有什么问题?这是我第一次看到这个。

2 个答案:

答案 0 :(得分:10)

改变这个:

[time appendFormat:[NSMutableString stringWithFormat:@"%d:", hour]];

对此:

[time appendFormat:@"%d:", hour];

appendFormat方法希望您传递格式的字符串,而不是NSMutableString。此屏幕截图显示了它:

enter image description here

答案 1 :(得分:0)

这不回答这里提出的问题,但看起来提供的代码试图重新发明现有的格式字符串选项。

[NSMutableString stringWithFormat:@"%02d:", hour]将打印带有前导零的两位数整数值。