KVC

作者: 石头撞地球 | 来源:发表于2016-12-27 15:56 被阅读1次


    key-value-coding

    通过key值去取值和赋值

    主要方法

    setValue:forKey:(为对象的属性赋值)

    setValue: forKeyPath:(为对象的属性赋值(包含了setValue:forKey:的功能,并且还可以对对象内的类的属性进行赋值))

    valueForKey:(根据key取值)

    valueForKeyPath:(根据keyPath取值)

    setValuesForKeysWithDictionary:(对模型进行一次性赋值)

    KVC和setter和getter方法的区别

    可以给私有属性赋值

    valueForKeyPath和valueForKey的区别

    valueForKeyPath可以给属性的属性赋值

    赋值原理

    1.去模型中查看是否有setter方法,有就直接调用

    2.查看是否有属性icon,有就直接赋值 icon = dict[@"icon"]

    3.查看是否有_icon属性,有就直接赋值_icon=dict[@"icon"]

    keyPath的巧妙用法

    将people中所有的name首字母大写

    [array valueForKeyPath:@"name.capitalizedString"]

    相关文章

      网友评论

          本文标题:KVC

          本文链接:https://www.haomeiwen.com/subject/usvrettx.html