IOS setValue:속성 이름 에 따라 속성 설정
이 방법 을 사용 하면 속성 이름 에 따라 속성 을 설정 합 니 다.이 방법 은 일정한 규칙 에 따라 명 명 된 속성 이 대량으로 있 을 때 특히 유용 하 다.
예 를 들 어,어떤 종 류 는 각 열 을 대표 하 는 배열 이 있 습 니 다.이름 형식 은@"column%dArray"입 니 다.
1 @property (strong, nonatomic) NSArray *column1Array; 2 @property (strong, nonatomic) NSArray *column2Array; 3 @property (strong, nonatomic) NSArray *column3Array; 4 @property (strong, nonatomic) NSArray *column4Array; 5 @property (strong, nonatomic) NSArray *column5Array; 만약 하나하나 속성 에 값 을 부여 한다 면,대량의 중복 코드 를 써 야 한다.
setValue 방법 을 이용 하여 하나의 순환 에서 이 속성 을 설정 할 수 있 습 니 다.
1 for ( int i=1; i<=5; i++) { 2 UIImageView *appleView = [[UIImageView alloc] initWithImage:apple]; 3 UIImageView *barView = [[UIImageView alloc] initWithImage:bar]; 4 UIImageView *cherryView = [[UIImageView alloc] initWithImage:cherry]; 5 UIImageView *lemonView = [[UIImageView alloc] initWithImage:lemon]; 6 UIImageView *sevenView = [[UIImageView alloc] initWithImage:seven]; 7 NSArray *imageViewArray = [[NSArray alloc] initWithObjects:appleView,barView,cherryView,lemonView,sevenView, nil]; 8 NSString *fieldName = [[NSString alloc] initWithFormat:@ "column%dArray" ,i]; 9 NSLog(@ "set value for key:%@" ,fieldName); 10 [self setValue:imageViewArray forKey:fieldName]; 11 } 마찬가지 로 속성 을 읽 을 때 현재 조건 에 따라 속성 이름 을 생 성하 고 속성 이름 으로 속성 을 읽 을 수 있 습 니 다.
1 - (UIView *) pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view 2 { 3 NSString *arrayName = [[NSString alloc] initWithFormat:@ "column%dArray" ,component+1]; 4 NSArray *array = [self valueForKey:arrayName]; 5 6 return [array objectAtIndex:row]; 7 } 이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.