IOS 에서 KVC 의 사용 방법 인 스 턴 스 상세 설명

2637 단어 IOSKVC
IOS 에서 KVC 의 사용 방법 인 스 턴 스 상세 설명
KVC 는 키 밸 류 코딩 의 줄 임 말로 키 인 코딩 을 의미한다.iOS 에 서 는 속성의 이름(즉 키)을 사용 해 대상 을 간접 적 으로 접근 하 는 방법 을 제공 했다.어떤 어 려 운 말 은 실제 적 으로 클래스 정 의 를 통 해 우 리 는 클래스 의 각종 속성 을 볼 수 있다.그러면 속성의 이름 을 사용 하면 우 리 는 클래스 의 예화 된 대상 의 이 속성 값 을 방문 할 수 있다.
      이 방법 은 getter/setter 방법 을 통 해 대상 의 속성 에 접근 하지 않 을 수 있 습 니 다.하나의 구성원 변 수 는 getter/setter 를 제공 하지 않 으 면 외부 에서 이 변수 에 대한 접근 경 로 를 잃 기 때 문 입 니 다.한편,KVC 는 방문 방법 을 제 공 했 는데 이것 은 어떤 경우 에 매우 위력 적일 것 이다. 
      더 이상 말 하지 않 겠 습 니 다.코드 를 올 립 니 다.

@interface myPerson : NSObject 
{ 
  NSString *_name; 
  int   _age; 
  int   _height; 
  int   _weight; 
} 
@end 

@interface testViewController : UIViewController 
 
@property (nonatomic, retain) myPerson *testPerson; 
 
@end 

- (void)testKVC 
{ 
  testPerson = [[myPerson alloc] init]; 
   
  NSLog(@"testPerson's init height = %@", [testPerson valueForKey:@"height"]); 
  [testPerson setValue:[NSNumber numberWithInt:168] forKey:@"height"]; 
  NSLog(@"testPerson's height = %@", [testPerson valueForKey:@"height"]); 
} 

        첫 번 째 코드 는 my Person 의 종 류 를 정의 하 는 것 입 니 다.이 종 류 는 가 있 습 니 다.height 의 속성 이지 만 getter/setter 의 접근 방법 은 제공 되 지 않 았 습 니 다.동시에 testView Controller 라 는 클래스 에 my Person 의 대상 지침 이 있 습 니 다. 
        my Person 이 예화 되면 일반적으로 이 대상 에 접근 할 수 없 는height 속성 입 니 다.하지만 KVC 를 통 해 우 리 는 해 냈 습 니 다.코드 는 testKVC 라 는 함수 입 니 다.
        실행 후 인쇄 값 은: 

2013-11-02 11:16:21.970 test[408:c07] testPerson's init height = 0
2013-11-02 11:16:21.971 test[408:c07] testPerson's height = 168
    이것 은 확실히 읽 고 썼 다 는 것 을 설명 한다height 속성. 
    KVC 의 일반적인 방법:

 
- (id)valueForKey:(NSString *)key; 
- (void)setValue:(id)value forKey:(NSString *)key; 
    value ForKey 방법 은 key 의 값 에 따라 대상 의 속성 을 읽 습 니 다.setValue:forKey:key 의 값 에 따라 대상 의 속성 을 씁 니 다. 
    여기 몇 가지 강조 할 게 있어 요.
1.key 의 값 이 정확 해 야 합 니 다.맞 춤 법 이 틀 리 면 이상 이 발생 합 니 다.
2.key 의 값 이 정의 되 지 않 았 을 때 value ForUndefinedKey:이 방법 은 호출 됩 니 다.이 방법 을 직접 썼 다 면 key 의 값 이 잘못 되 었 을 때 여기 로 호출 됩 니 다.
3.클래스 키 가 반복 적 으로 끼 워 져 있 기 때문에 키 Path 라 는 개념 이 있 습 니 다.키 Path 는'번호'로 하나의 키 를 연결 하면 이 경로 에 따라 접근 할 수 있 습 니 다.
4.NSArray/NSSet 등 은 모두 KVC 를 지원 합 니 다.
 이상 은 IOS KVC 의 사용 방법 입 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 을 하 십시오.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기