2012-07-03 3 views
0

나는 UITextField에 표시하려는 일부 매개 변수가있는 NSDictionary을 가지고 있습니다. UITextField로 출력

firstname.text = [userdata objectForKey:@"firstname"]; 

하지만

는 exeption가 발생합니다. [userdata objectForKey:@"firstname"];NSLog을 사용하면 올바른 값이 표시됩니다. 여기에 무슨 문제가있는 것 같습니까?

+0

을이 던져진 예외 : 2012-07-05 15 : 55 : 56.533 프로젝트 [13642 : F803] - [ __NSArrayM _isNaturallyRTL] : 인스턴스로 전송 된 인식 할 수없는 선택자 0x68c4e20 2012-07-05 15:55:56:34 프로젝트 [13642 : f803] *** 캐치되지 않은 예외 'NSInvalidArgumentException'으로 인해 앱 종료 중, 이유 : '- [NSArrayM _isNaturallyRTL] : 인식 할 수 없음 선택자가 인스턴스 0x68c4e20에 전송 ' – user1447339

답변

2

그냥 다음 코드를 사용합니다

firstname.text = [NSString stringWithFormat:@"%@", 
         [userdata objectForKey:@"firstname"]]; 

가 이동합니다 .. :)

+0

이 작동하지만 괄호 안에 값을 넣습니다. 텍스트 상자에 "firstname"대신 "(firstname)"이 표시됩니다. – user1447339

1

[NSString stringWithFormat:@"%@",[userdata objectForKey:@"firstname"]]; 
firstname.text = nameString; 

같은 뭔가를 시도?

+1

'[NSString stringWithFormat : @ "% @", [userdata objectForKey : @ "firstname"]];'otherwi 그 객체가 NSString *이 아니면 예외가 발생합니다. @ "% @"를 추가하면 stringWithFormat이 문자열 표현을 생성하기 위해 객체에서'- [NSObject description]'메소드를 호출합니다. (물론, 드문 경우지만 객체가'NSObject'의 자손이 아니며'description' 메소드를 구현하지 못하더라도 여전히 실패 할 수 있습니다.) – idz

+0

+1, 당신 말이 맞습니다. 내 잘못,'@ "% @"'을 잊어 버렸습니다! – Phillip

+0

걱정하지 마시고 동일한 실수를 저지른 적이 있습니다. – idz

2

NSLog 뭔가를 입력하면 [object description]을 사용하여 개체를 출력 문자열로 변환합니다. 사전에 저장된 객체가 NSString이 아니며 firstname.text에 할당하려고하면 예외가 발생합니다.

또 다른 문제는 사용자가 firstname 개체가 자신이 생각하는 것을 가리키고 있지 않을 수 있다는 것입니다. 예를 들어 ARC를 사용하지 않고 ARC를 보관하지 않았거나 이미 해제 한 경우 발생할 수 있습니다.

표시되는 정확한 예외로 인해 현재 발생하는 예외가 결정됩니다.

+0

이것은 예외입니다. 2012-07-05 15 : 55 : 56.533 프로젝트 [13642 : f803] - [NSArrayM _isNaturallyRTL] : 인스턴스로 전송 된 인식 할 수없는 선택기 0x68c4e20 2012- 07/2005 15 : 55 : 56.534 프로젝트 [13642 : f803] *** 캐치되지 않은 예외 'NSInvalidArgumentException'으로 인해 응용 프로그램을 종료 함, 이유 : '- [NSArrayM _isNaturallyRTL] : 인스턴스로 전송 된 인식 할 수없는 선택기 0x68c4e20' – user1447339

+0

개체가 사전은 NSString이 아니며 NSString입니다. 그 키의 내용을 어디에 놓았는지 살펴보고 버그가 있어야합니다. – idz

+0

그래서 'firstname' 키의 객체는 NSString입니다. NSString입니다. 해당 키의 값을 설정할 위치를 확인하십시오! – idz

관련 문제