KVC 키 코드
setValue: forKey: 값 을 수정 합 니 다.value ForKey: 속성 이 들 어 오 는 이름 입 니 다.setValue: forKeyPath: 키 경 로 를 통 해 수정 합 니 다.value ForKeyPath: 속성 을 전달 하 는 경 로 는 xx. xx 형식 입 니 다.KVC 는 보안 메커니즘 을 보완 하기 위해 키 를 통 해 밸 류 를 찾 는 형식 이 후기 에 개 발 된 디자인 모델 에 큰 도움 이 된다 는 장점 이 있다.네 가지 인 코딩 형식.키 를 통 해 값 을 추출 하여 실제 예 를 보 는 것 이다. /연습 2: 사냥꾼 이 숲 에 들 어 갔 을 때 멧돼지 세 마 리 를 발 견 했 습 니 다. 멧돼지 의 체중 은 각각 100, 200, 300 이 었 습 니 다. 그런데 사냥꾼 은 200 근 의 멧돼지 만 잡 으 려 고 했 습 니 다. 그래서 사냥 을 시 작 했 습 니 다. 사냥 을 한 후에 100 근 의 멧돼지 를 발 견 했 습 니 다. 그 는 200 근 까지 계속 사냥 을 했 습 니 다. 그 는 드디어 집에 돌아 갈 수 있 게 되 었 습 니 다!KVC 로 써 주세요.
// : , ?
main.m#import
//
[person setValue:" " forKey:
"name"];
[pig setValue:"100" forKey:
"weight"];
[pigI setValue:"200" forKey:
"weight"];
[pigII setValue:"300" forKey:
"weight"];
// ,
Forest *forestI = [[Forest alloc]init];
NSArray *array = @[pig , pigI , pigII];
[forestI setValue:array forKey:"array"];
//
[person setValue:
"200" forKey:"target"];
//
int target = [[person valueForKey:
"target"] intValue];
// 100
for (int i = 0 ; i < [array count]; i++) {
//
Pig *pigTmp = array[i];
// 100 , String , int
int weightTmp = [[pigTmp valueForKey:@"weight"]intValue];
if (weightTmp 100) {
NSLog(" !");
}
// , 200
if(weightTmp target){
NSLog(
" ");
break;
}else{
NSLog(" ! :%
",[pigTmp valueForKey:@"weight"]);
}
}
Person.h
#import
Pig.h
#import
@interface Pig : NSObject@property(nonatomic,assign)int weight;@end
Forest.h
#import
앞으로 도 확장 지식 이 있 습 니 다!
avg:
NSLog(
"돼지 평균 체중% ",[forestI valueForKeyPath:
" array. @ avg. weight ");count:
NSLog(
"돼지 는% ",[forestI valueForKeyPath:
" array. @ count "] 가 있다.max:
NSLog(
"가장 질 좋 은 돼지 는% ",[forestI valueForKeyPath:
" array. @ max. weight "] 이다.min:
NSLog(
"모두 살코기 인 돼지% ",[forestI valueForKeyPath:
" array. @ min. weight "];sum:
NSLog(
"돼지 총화% ",[forestI valueForKeyPath:
" array. @ sum. weight "];배열 의 경우 @ distinctUnionOfObjects: 지정 한 속성 을 되 돌려 주 고 무 거 운 값 을 되 돌려 주 는 배열 @ unionOfObjects: 지정 한 속성의 값 을 되 돌려 주 는 배열 입 니 다. 무 거 운 속성 을 가지 지 않 는 값 은 비어 있 을 수 없습니다. 그렇지 않 으 면 이상 이 발생 합 니 다.
NSArray *array2 = [@3,@2,@1,@2];
NSArray *array3 = [array2 valueForKeyPath:
"unionOfObjects.self"];
NSLog(
"—————————————%@——————————————",array3);
NSArray *array4 = [array2 valueForKeyPath:"@distinctUnionOfObjects.self"];
NSLog(
"%@",array4);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.