OC入门-KVC

KVC (Key Value Coding) Objective-C 允许以字符串形式间接操作对象的属性,这种方式的全称是 Key Value Coding (简称KVC),即键值编码。
最基本的 KVC 由 NSKeyValueCoding 协议提供支持,最基本的操作属性的两个方法如下:

  • setValue:属性值 forKey:属性名 >> 为指定属性设置值

  • valueForKey:属性名 >> 获取制定属性的纸

  • HDPerson.h

#import 

@interface HDPerson : NSObject

//  使用@property定义3个property
@property (nonatomic, copy) NSString * name;
@property (nonatomic, copy) NSString * pass;
@property (nonatomic, copy) NSDate * birth;

@end

  • main.m
#import 
#import "HDPerson.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //创建HDPerson对象
        HDPerson * person = [[HDPerson alloc] init];
        
        //使用KVC方式为name属性设置属性值
        [person setValue:@"黑点" forKey:@"name"];
        
        //使用KVC方式为pass属性设置属性值
        [person setValue:@"1233" forKey:@"pass"];

        //使用KVC方式为name属性设置属性值
        [person setValue:[[NSDate alloc] init] forKey:@"birth"];
        
        //使用KVC获取HDPerson对象的属性
        NSLog(@"person 的 name 为: %@",[person valueForKey:@"name"]);
        NSLog(@"person 的 pass 为: %@",[person valueForKey:@"pass"]);
        NSLog(@"person 的 birth 为: %@",[person valueForKey:@"birth"]);
        
    }
    return 0;
}

2016-10-25 17:31:39.124 OC_KVC[31849:1185578] person 的 name 为: 黑点
2016-10-25 17:31:39.125 OC_KVC[31849:1185578] person 的 pass 为: 1233
2016-10-25 17:31:39.135 OC_KVC[31849:1185578] person 的 birth 为: 2016-10-25 09:31:39 +0000

点击下载GitHub源码

你可能感兴趣的:(OC入门-KVC)