2011-01-17 1 views
2

(이 간단한 질문 것으로 보인다 만약 내가 사과 있도록 목표 C에 새로운 오전) 문자열 리터럴 및 형식 인수가 없습니다.포맷하지 리터럴 문자열과 (NSLog를 포함하지 않음) 어떠한 형식 인수 <p></p> 내가 연구 여기에 다음과 같은 메시지</p> <p>형식

응답의 대부분은 NSLog 문과 관련됩니다. 하지만, 내 오류가 나는 코드의 집합을 해결하고 에러가 여기서 발생하는 이유를 이해하지 않는 것이 줄

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:[NSString stringWithFormat:@"/%@", [managedObject Name]]]; 

으로 표시됩니다. 이것에 대한 어떤 도움도 인정 될 것입니다.

답변

4

다음과 같이 수정해야합니다.

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:[NSString stringWithFormat:@"/%@", [managedObject Name]], nil]; 

는 또한

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:@"/%@", [managedObject Name]]; 

을 또한 수행해야합니다.

형식 매개 변수를 필요로하는 두 개의 메서드를 호출했지만 [NSString stringWithFormat]에는 string 매개 변수를 전달했지만 stringByAppendingFormat 메서드에는 전달하지 않았습니다.

+0

에 보일 것입니다! 감사합니다. – djeddiej

+0

오, 그래 지금 추가하십시오. 덕분에 – djeddiej

1

stringByAppendingFormat을 사용하고 stringWithFormat을 사용하고 있습니다. 둘 중 하나를 선택하십시오. 수정 :

NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:@"/%@", [managedObject Name]]; 
0
[NSString stringWithFormat:@"/%@", [managedObject Name] 

이미 [managedObject Name]의 값으로 대체 %@ 문자열을 반환합니다. 따라서 stringByAppendingFormat 메서드는 서식 지정 문자열과 인수를 가져 오지 않습니다.

BTW, 컨벤션은 다른 사람이 말한 옆에 [managedObject Name]

3

에 달리 소문자 알파벳으로 시작하는 메소드 이름을 사용하는 것입니다, 당신은 빠르고 정확했다 와우

- (NSString *)stringByAppendingPathComponent:(NSString *)aString 
+0

나는이 참고 문헌을 북마크했다. 건배 – djeddiej

+0

이것은 트릭을했다. 감사. – mondousage

관련 문제