2010-08-05 3 views
0

으로 변환합니다. 클래스에 인스턴스 변수가있는 경우 : nsstring * foo, 이제 문자열을 @ "foo"변수로 만듭니다.문자열을 변수

예 : @ "foo"라는 문자열이 있는데이 문자열로 do : myobject.foo가 필요합니다.

+0

지금까지 나에게 많은 의미를 만들 수 없음 - 당신이있는 NSString를 만들고 또는 뭔가를 유지 하시겠습니까? "할"수있는 방법은 무엇입니까? –

답변

0

당신이 찾고있는 것이 KVC Key-Value Coding이라고 생각합니다.

개체의 속성 또는 인스턴스 변수를 이름 (문자열)으로 검색하거나 설정할 수 있습니다. 당신은 같은 작업을 수행 할 수 있습니다

당신은 세터와 게터 메소드 (또는 그것들을 합성 한) 경우
id fooValue = [myobject valueForKey:@"foo"]; 
[myobject setValue:barValue forKey:@"foo"]; 
0

, 당신은()에 액세스 할 NSSelectorFromString을 사용하고 변수를 수정할 수 있습니다.

액세스 :

id foo = [self performSelector:NSSelectorFromString(@"foo")]; 

수정 :

[self performSelector:NSSelectorFromString([NSString stringWithFormat:@"set%@:, [@"foo" capitalizedString]]) withObject:foo]; 
관련 문제