개체를 가져와 몇 개의 값을 채우는 클래스 메서드가 있습니다. 이것은 기능적 데모 단계에 있으므로 나중에 구현하는 것이 좋습니다. 지금 당장이 일을하고 싶습니다.범위 문제 : if 문에서 double 배열에 액세스 할 수 없습니다.
아래 코드에서 districtID 정수는 if 문에 성공적으로 전달됩니다. rgb double 배열은 if 문 범위로 만들지 않습니다. 초기화시 설정 한 값은 if 문 내부에서 설정하지 않고도 districtPoint.color로 끝납니다.
아래 코드는 그대로 컴파일되지 않습니다. if 문 범위 내에서 rgb 변수를 볼 수있는 방법을 알고 싶습니다.
(참고 :. 나는이 오류를 지우는 경우 문 내에서 변수를 초기화하는 순진 솔루션을 시도하지만, 경우 범위를 벗어난 새로운 RGB 변수를 허용하지 않습니다)이있다
// This method populates properties
+(void)setContantPropertiesForID:(DistrictPoint *)districtPoint
{
int districtID = [districtPoint.districtID intValue];
double rgb[3] = {0,0,0};
if (districtID == 1) {
districtPoint.title = @"District 1";
rgb = {1.0,0.0,0.0}; // error is expected expression
} else if (districtID == 2) {
districtPoint.title = @"District 1";
rgb = {0.0,1.0,0.0};
} else if (districtID == 3) {
districtPoint.title = @"District 1";
rgb = {0.0,0.0,1.0};
} else {
districtPoint.title = nil;
rgb = {1.0,1.0,1.0}; // error condition
}
districtPoint.color = [UIColor colorWithRed:rgb[0] green:rgb[1] blue:rgb[2] alpha:0.5];
}
이것은 Objective-C 질문이 아닙니다. 그것은 가변 범위 질문이 아닙니다. 그리고 iOS와는 아무런 관련이 없습니다. 그것은 간단한 C 언어 질문입니다. – matt