From 5fe361cb82ef3edab67acbbb9cb17cf78fceb4a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=9B=84?= Date: Mon, 27 May 2019 19:19:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AC=94=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iOS\345\272\225\345\261\202/4\343\200\201KVC.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/iOS\347\237\245\350\257\206\347\202\271/iOS\345\272\225\345\261\202/4\343\200\201KVC.md" "b/iOS\347\237\245\350\257\206\347\202\271/iOS\345\272\225\345\261\202/4\343\200\201KVC.md" index 1257769..ec7ea24 100644 --- "a/iOS\347\237\245\350\257\206\347\202\271/iOS\345\272\225\345\261\202/4\343\200\201KVC.md" +++ "b/iOS\347\237\245\350\257\206\347\202\271/iOS\345\272\225\345\261\202/4\343\200\201KVC.md" @@ -43,7 +43,7 @@ KVC(Key-value coding)键值编码,指iOS的开发中,可以允许开发 ### 2、KVC的内部实现机制 -#### KVO的`setValue:forKey`原理 +#### KVC的`setValue:forKey`原理 我们先来一张图片可以直接明了的看清楚实现原理 ![KVC2](https://github.com/SunshineBrother/JHBlog/blob/master/iOS知识点/images/KVC2.png) @@ -54,7 +54,7 @@ KVC(Key-value coding)键值编码,指iOS的开发中,可以允许开发 - 返回NO,直接调用`setValue:forUndefinedKey:`,抛出异常 -#### KVO的`ValueforKey`原理 +#### KVC的`ValueforKey`原理 ![KVC3](https://github.com/SunshineBrother/JHBlog/blob/master/iOS知识点/images/KVC3.png) - 1、按照`getKey,key,isKey,_key`的顺序查找`成员方法`,如果找到直接调用`取值` - 2、如果没有找到,查看`accessInstanceVariablesDirectly`的返回值