2

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

int hour = [number intValue] / 3600; 

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

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

它出什么问题了?这是我第一次看到这种情况。

4

2 回答 2

10

改变这个:

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

对此:

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

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

在此处输入图像描述

于 2012-09-11T17:13:51.187 回答
0

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

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

于 2012-09-11T17:21:18.230 回答