IBAForms를 사용하여 프로젝트의 간단한 양식을 만들고 필드에서 값을 가져 오는 것 외에는 거의 모든 것을 수행했습니다. 이 코드가 있습니다iOS : valueForKeyPath에서 값 가져 오기
NSLog(@"SUBMIT");
id values = [[self formDataSource] modelValueForKeyPath:@"diabetePickListItem"];
for (id key in values){
id values = [values objectForKey:key];
NSString *keyString = (NSString *)key;
NSLog(@"%@",keyString);
NSString *valueString = (NSString *)values;
NSLog(@"%@",valueString);
}
NSLog(@"diabetes %@", values);
을 그리고 그것은 나에게 콘솔에서이 OUPUT 제공 :
2012-10-07 07:02:37.145 BigBlueTest[64483:10403] SUBMIT
2012-10-07 07:02:37.147 BigBlueTest[64483:10403] Yes
2012-10-07 07:02:37.148 BigBlueTest[64483:10403] (null)
2012-10-07 07:02:37.150 BigBlueTest[64483:10403] diabetes {(
Yes
)}
내가 뭘 이해하지 못하는 것은 내가에서 반환 된 값에서 키를 얻을 수있는 방법입니다 modelValueForKeyPath 메소드. 나는 단지 빠른 열거없이 'Yes'또는 'No'값을 얻고 싶습니다. 나는이 코드에서 내가 무엇을 놓치고 있는지 정말로 모른다. 어떤 도움이라도 대단히 감사하겠습니다. 미리 감사드립니다.
편집 :
문제는 내가 objectAtIndex를 사용하려고하면 그것은 나를 준다이다 - [__ NSCFSet objectAtIndex이 :] : 인식 할 수없는 선택기 인스턴스 오류로 보냈다. 내가 valueForKeypath를 사용하는 경우
NSLog(@"%@",_formValues);
2012-10-08 11:27:48.524 BigBlueTest[17285:10403] {
activityPickListItem = "{(\n Running/jogging\n)}";
bloodAfter = 60;
bloodBefore = 58;
diabetePickListItem = "{(\n Yes\n)}";
durationPickListItem = "{(\n 10 or less\n)}";
intensityPickListItem = "{(\n Moderate\n)}";
lowGlucoseSyntom = "{(\n No\n)}";
pickInsulinUse = "{(\n Yes\n)}";
pickMeasureUnit = "{(\n mmol/L\n)}";
recentMealPickListItem = "{(\n 30 minutes ago\n)}";
}
다음 내가 값을 얻을 : 내가 작업하고있어 applicacion 내가 완전히 양식을 작성하고 내가이 출력을 얻을 수있는 값의 내용을 인쇄하는 경우, 간단한 정보를 수집하는 양식을 포함 이 형식 {(값)}. 문자열 값을 가져 오는 방법을 찾지 못했습니다. NSDictionary 및 NSArray에서 시도한 메서드가 실패했습니다. 답장을 보내 주셔서 감사합니다.
감사합니다. 귀하의 답변은 나에게 무슨 일이 일어나고 있는지에 대한 정보를 찾는 데 많은 도움이되었습니다. 그러나 나는 그저 가치를 얻지 못했습니다. 그것은 내가 여기서 가치를 얻을 수있는 방법을 찾을 수 없다는 것을 당황스럽게 만듭니다 : {(value)}. objectAtIndex가 작동하지 않습니다. 값은 id 유형입니다. –
이것을 시도해보십시오 : BOOL answer = [[value objectAtIndex : 0] boolValue]]; –