다음 문제를 해결하는 방법을 궁금합니다. 한 쌍의 값을 기반으로 한 값에 액세스하려고합니다. 값 0과 1에 대해 3을 얻고 싶습니다. 4와 5에 대해 2를 얻고 싶습니다. 3 차원 배열을 선언 할 생각이었습니다. 이것을 달성하기위한 더 좋은 방법이 있습니까? 그렇지 않다면 ObjectiveC에서 3d 배열을 어떻게 선언 할 수 있습니까?ObjectiveC에서 3 차원 배열을 선언하고 사용하는 방법은 무엇입니까?
감사합니다.
다음 문제를 해결하는 방법을 궁금합니다. 한 쌍의 값을 기반으로 한 값에 액세스하려고합니다. 값 0과 1에 대해 3을 얻고 싶습니다. 4와 5에 대해 2를 얻고 싶습니다. 3 차원 배열을 선언 할 생각이었습니다. 이것을 달성하기위한 더 좋은 방법이 있습니까? 그렇지 않다면 ObjectiveC에서 3d 배열을 어떻게 선언 할 수 있습니까?ObjectiveC에서 3 차원 배열을 선언하고 사용하는 방법은 무엇입니까?
감사합니다.
결과 쌍을 (트리플이 아닌) 값 쌍을 기반으로하려면 2D 배열이 필요합니다.
일반적으로 2D 배열은 배열 배열입니다. 당신의 Obj-C의있는 NSArray 객체를 사용하려는 경우, 당신은 같은 것을 할 것 :
NSArray* yCoord1 = [NSArray arrayWithObjects:@"oneValue", @"secondValue", nil];
NSArray* yCoord2 = [NSArray arrayWithObject:@"thirdValue"];
NSArray* array = [NSArray arrayWithObjects:yCoord1,yCoord2,nil];
을 그리고, 배열에 액세스하려면 :
NSUInteger xCoord = 0;
NSUInteger yCoord = 1;
[[array objectAtIndex:xCoord] objectAtIndex:yCoord]; //Result: @"secondValue"
를 그것은 일반 C 배열을 사용하는 것도 가능하다 이런 식으로; 당신이 그것을 원한다면 튜토리얼 톤에 대한 구글의 "2D C 배열".
대부분 또는 모든 쌍의 값을 가지며 정수 값만 저장하는 경우 (실제 예에서와 같이) 실제 C 배열은 사용자의 요구를 가장 잘 충족시킬 수 있습니다. 당신이 찾고있는 것을 얻기위한 3D 배열.
데이터 집합이 희박한 경우 두 개의 키 값을 연결하여 "1-Firstval; 2-SecondVal"와 같이 숫자를 유지하면 효과가있는 것처럼 보입니다. NSDictionary에서 찾고 있습니다. 그렇다면 여전히 많은 메모리를 사용하지 않고도 빠른 조회가 가능합니다.
감사! 당신의 대답은 정확하고 훌륭하지만, andyvn22의 대답은 나의 필요에 더 잘 맞습니다. – Jakub