2011-10-25 4 views
5

다음 코드를 실행하면 Data argument not used by format string 오류가 발생합니다.ios 프로그래밍 - 데이터 형식 인수가 형식 문자열에 사용되지 않음

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 

NSString *colour = ([colourArray objectAtIndex:row]); 

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

[defaults setObject:(colour) forKey:@"colour"]; 

NSLog(@"NSString =", colour); 
NSLog(@"NSUserDefaults =", [defaults objectForKey:@"colour"]); 

} 

NSLog 행에서 오류가 발생합니다. 또한 다음은 로그의 내용입니다.

2011-10-25 09:01:50.260 Random[35636:b303] NSString = 
2011-10-25 09:01:50.260 Random[35636:b303] NSUserDefaults = 

Arthur

답변

17
NSLog(@"NSString = ", colour);  
NSLog(@"NSUserDefaults =", [defaults objectForKey:@"colour"]); 

는 문제가을 인쇄하는 데 사용되는 %@ 210. 숫자를 인쇄하려면 %d과 같은 것을 사용하십시오. See complete documentation here.

+0

고맙습니다. 문제가 해결되었습니다. 덕분에 – gadgetmo

0

@debuggerman의 답변은 정확합니다. 그러나 [defaults setObject:(colour) forKey:@"colour"]; 대신 [defaults setObject:colour forKey:@"colour”];을 사용하면 코드를 개선 할 수 있습니다.

colour 개체의 괄호를 제거했음을 유의하십시오.

+0

. 나는 그것을 바꿨다. – gadgetmo

관련 문제