2014-02-20 5 views
0

나는 점 표기법없이 쓰기 위해 노력하고 있지만 그것을 알아낼 수 없습니다 : 나는 bad receiver type NSRange (aka '_struct NSRange')rangerOfCharacterFromSet의 "location"을 목표 -c의 점 표기법없이 호출 할 수 있습니까?

이것이 가능하지가 계속

[[textField text] rangeOfCharacterFromSet:someInstanceVar].location 

?

감사합니다.

+2

다른 방법으로 구조체의 멤버에 액세스 할 수 없습니다. – Desdenova

+0

내 업데이트를 확인하십시오. 기본적으로 텍스트 필드에 문자와 공백 만 허용하고 있습니다. 이 일을 더 우아한 방법이 있습니까? – LondonGuy

+0

구조체를 피할 수는 없지만 모든 곳에서 사용할 수 있습니다. – Desdenova

답변

5

점 없이는 전화를 걸 수 없습니다. 일반 C 구조체입니다 rangeOfCharacterFromSet 리턴한다 NSRange을 :

typedef struct _NSRange { 
    NSUInteger location; 
    NSUInteger length; 
} NSRange; 

아닌 목표 - C 객체입니다. .location은 해당 구조체 의 첫 번째 멤버에 액세스하며 순수한 C 구문입니다. 속성의 도트 표기법이나 메서드 호출과는 아무런 관련이 없습니다.