2012-09-11 3 views
2

NSMutableString이 잠재적으로 안전하지 않은 이유는 무엇입니까? 나는 이것을 찾았지만 아무 것도 찾을 수 없었다.NSSMutableString이 잠재적으로 안전하지 않은 이유는 무엇입니까?

int hour = [number intValue]/3600; 

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

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

무엇이 잘못 되었나요? 이걸 처음 봤어.

+1

나는 당신이 여기서 무엇을 묻고 있는지 잘 모르겠습니다. 왜이 문자열이 "잠재적으로 안전하지 않은"것이라고 생각하는지 설명하면 도움이됩니다. – Jonah

+1

[iOS 응용 프로그램에서 내 문자열이 잠재적으로 안전하지 않은 이유는 무엇입니까?] (http://stackoverflow.com/questions/9961363/why-is-my-string-potentially-unsecure-in-my-ios-application) –

+0

유사 항목 : http://stackoverflow.com/questions/5428325/issue-with-code-format-string-is-not-a-string-literal – woz

답변

10

변경이 : 여기에

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

다음 appendFormat 방법은 기대하고있다

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

당신이 형식의 문자열이 아닌 NSMutableString을 전달합니다. 이 스크린 샷을 보여줍니다 :이 질문은 여기에 물어하지만 제공된 코드는 기존의 포맷 스트링 옵션을 재발견을 시도하는 것 같습니다 응답하지 않습니다

enter image description here

+2

이것은 물론 대답입니다. 그러나 약간 설명하고 싶을 수도 있습니다. :) –

+0

정말 고마워요, 지금 어디에서 실수했는지 압니다.) –

0

.

[NSMutableString stringWithFormat:@"%02d:", hour]은 0으로 시작하는 2 자리 정수 값을 인쇄합니다.

+0

사실,하지만이 질문에 대답하지 않는다는 것을 알면서도 주석이어야한다고 생각합니다. – woz

관련 문제