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에 따라 라이센스가 부여됩니다.