本文主要是介绍Objective-C学习-KVC(键值编码)和KVO(键值观察),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
KVC(键值编码)
KVC(Key Value Coding)键值编码,乍一听感觉很高大上,其实简单的说起来就是一个赋值的语句,那为什么会有这个操作呢,用 '.' 语法不是更简单吗,理解上是没错的,但在点语法出现之前,我们的程序员前辈们都是通过这种赋值方法的,并且在很多情况下,KVC赋值看似麻烦,实际上是比 ‘.’ 语法简更加精炼的。
其实在之前我们也用过键值编码的例子了,是在字典的赋值上,如
NSMutableDictionary * dic = [NSMutableDictionary dictionary];//通过键值编码(KVC)赋值[dic setValue:@"RunIntoLove" forKey:@"me"];
下面会用代码来解释: (当然例子还是之前的自定义类 Cricle )
首先我们为类定义几个属性
//
// Cricle.h
// KVC (键值编码) KVO (键值观察) 博客
//
// Created by YueWen on 15/9/14.
// Copyright (c) 2015年 YueWen. All rights reserved.
//#import <Foundation/Foundation.h>#define PI 3.14 //定义π的值@interface Cricle : NSObject@property(nonatomic,strong)NSString * name;//圆的名字@property(nonatomic,assign) double radius;//半径
@property(nonatomic,assign) double circumference;//周长
@property(nonatomic,assign) double area;//面积
然后自定义一个初始化方法
/*** 自定义的便利初始化方法** @param name 圆的名称* @param circumference 圆的半径** @return*/
-(instancetype)initWithName:(NSString *)name withRadius:(double)radius;
实现一下
-(instancetype)initWi
这篇关于Objective-C学习-KVC(键值编码)和KVO(键值观察)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!