사전에서 값을 설정하려는 속성이있는 클래스가 있습니다. 즉Objective C 인스턴스의 모든 속성을 사전으로 자동 채우기
, 나는이 자동화 싶습니다 방법을 만들 이유가 뭔가를 누락하지 않는 한
for key, value in dict:
setattr(objectInstance, key, value)
사전에서 값을 설정하려는 속성이있는 클래스가 있습니다. 즉Objective C 인스턴스의 모든 속성을 사전으로 자동 채우기
, 나는이 자동화 싶습니다 방법을 만들 이유가 뭔가를 누락하지 않는 한
for key, value in dict:
setattr(objectInstance, key, value)
setValuesForKeysWithDictionary:
키 - 값 코딩 방법을 사용할 수 있습니다. 그것은 당신이 원하는 것을 정확하게합니다. 그냥 [someObject setValuesForKeysWithDictionary:propertiesDictionary]
입니다.
확인이 (의사 코드) 같은 것을 함께
objectInstace.val1 = [dict objectForKey:@"val1"];
objectInstace.val2 = [dict objectForKey:@"val2"];
을 같은 :
setObjectProperties (ID) 개체 withValues : (NSDictionary와 *) DICT 나는했습니다
죄송합니다. 제 질문에 대한 답변이 충분하지 않았습니다. 나는 그것을 분명히했다. –
결코 이런 짓을하지 않습니다, 그러나 그것은 작동해야처럼이 보인다
을 dictonary의 각 key
의 경우 :
NSString* setMethod = "set" + [key capitalizedString] + ":"; // This is pseudo-code.
SEL setSelector = NSSelectorFromString(setMethod);
[objectInstance performSelector:setSelector withObject:[dict objectForKey:key]];
(setMethod
을 형성하는 코드는 연습 문제로 남겨 의사 코드 & 때문에의 Obj-C 문자열 조작은 끔찍합니다.)
파이썬 (비록 .iteritems() 또는 .items()가 필요합니다 .-) –