setvalue和setobject

作者: 渡边君WM | 来源:发表于2019-10-03 06:07 被阅读0次

    setValue forKey :

    1、方法是KVC(键-值编码),方法是在NSObject对象中创建的,也就是说所有的oc对象都有这个方法,所以可以 用于任何类

    例子:
    People *p1 = [[People alloc] init];
    [p1 setValue:@"mkj" forKey:@"name"];

    当对象有name属性的时候就是通过KVC来赋值

    2、value可以是nil,如果为nil,则自动调用removeObject forkey方法

    3、key必须为string类型的

    4、取值的时候valueforkey的key如果包含@符号,则取值时会自动把@去掉,程序crash

    setObject forKey:

    1、方法是NSMutabledictionary特有的;

    2、value不可以为nil,如果为nil,则程序崩溃在此;但value可以为[NSNull null],[NSNull null]为一个空对象,并不是nil;

    3、Key的对象是一个id类型,并不是NSString,只不过我们经常使用NSString而已。

    4、取值的时候objectforkey的key如果包含@符号,无影响,可以正常取出该值

    相关文章

      网友评论

        本文标题:setvalue和setobject

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