NSDictionary 매핑 정수를 부동 소수점 값으로 변환하여 원본 NSDictionary의 키가 벡터의 인덱스 인 C++ std :: vector로 변환하려고합니다.NSDictionary를 std :: vector로 변환
내가 생각하는 코드가 있지만 사전에 키 - 값 쌍의 수보다 큰 벡터를 만드는 것으로 보입니다. 내가 벡터에 색인을 붙이는 방식과 관련이 있다고 생각합니다.
도움을 주시면 감사하겠습니다. 숫자가 많은 항목으로 시작하는 것을 생성과
static std::vector<float> convert(NSDictionary* dictionary)
{
std::vector<float> result(16);
NSArray* keys = [dictionary allKeys];
for(id key in keys)
{
id value = [dictionary objectForKey: key];
float fValue = [value floatValue];
int index = [key intValue];
result.insert(result.begin() + index, fValue);
}
return result;
}
왜 당신은'표준 : :지도'를 사용하지 마십시오. STL에있는 NSDictionary의 대응 부분입니다. 아마 키가 정렬되지 않고 임의로 인덱스를'std :: vector'에 삽입 할 수 없습니다. 당신은 순서대로해야합니다 : 0, 1, 2, 3 ... –
내가 NSDictionary를 제공하는 플러그인을 작성 중이므로 API를 사용하여이를 전달하려고합니다. std :: vector가 필요합니다. – ekj