특정 문자열로 명명 된 개체를 찾을 수 있습니까?목적 C 객체를 문자열 이름으로?
예 I는 PHP
$objectname="foo";
$foo="bar";
echo $$objectname="bar";
이 가능하다는 것을 사용합니까? objectbyname은 이에 대한 적절한 함수입니다.
특정 문자열로 명명 된 개체를 찾을 수 있습니까?목적 C 객체를 문자열 이름으로?
예 I는 PHP
$objectname="foo";
$foo="bar";
echo $$objectname="bar";
이 가능하다는 것을 사용합니까? objectbyname은 이에 대한 적절한 함수입니다.
명명 된 개체를 속성 또는 사전에 저장 한 경우 가능할 수 있습니다. 그러면 다음과 같이 할 수 있습니다.
// Put object into dictionary
[dictionaryWithObjects setValue:someNamedObject forKey:@"someNamedObject"];
// and then retrieve it
id object = [dictionaryWithObjects valueForKey:@"someNamedObject"];
그리고 ObjectiveC가 해당 수준의 메타 프로그래밍을 지원하는지 잘 모르겠습니다.
NSClassFromString()
을 사용하여 클래스를 얻을 수 있지만 특정 개체 인스턴스의 경우 이것이 가능하지 않다고 생각합니다.
PHP 에서처럼 보이지는 않지만 문자열에서 클래스를 가져올 수 있습니다. NSClassFromString
기능을 사용합니다.
예를 들어, 다음 두 라인은 동일
id a = [[NSClassFromString(@"NSString") alloc] init];
id a = [[NSString alloc] init];