美文网首页
KVC 如何给非对象属性赋值

KVC 如何给非对象属性赋值

作者: 等一个最好的自己 | 来源:发表于2020-12-01 10:42 被阅读0次

kvc给对象属性赋值大家肯定已经很熟悉了,但是怎么给非对象属性赋值呢,现在举例给以结构体为属性并赋值为例:

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN
typedef struct {
    float x,y,z;
}Floats;
@interface TestObject : NSObject
@property(nonatomic)Floats testFloat;
@end

NS_ASSUME_NONNULL_END
TestObject *testObject = [[TestObject alloc]init];
    //赋值
    Floats testFolat = {1.0,2.0,3.0};
    NSValue *value = [NSValue valueWithBytes:&testFolat objCType:@encode(Floats)];
    [testObject setValue:value forKey:@"testFloat"];

    //取值
    NSValue *value1 = [testObject valueForKey:@"testFloat"];
    Floats floats;
    [value1 getValue:&floats];
    NSLog(@"%lf-%lf-%lf",floats.x,floats.y,floats.z);

打印结果:1.000000-2.000000-3.000000

相关文章

  • KVC 如何给非对象属性赋值

    kvc给对象属性赋值大家肯定已经很熟悉了,但是怎么给非对象属性赋值呢,现在举例给以结构体为属性并赋值为例: 打印结...

  • 2.3 KVC设计模式(给对象的属性赋值)

    KVC设计模式(给对象的属性赋值) dog类 App类 Person类 KVC设计模式(给对象的属性赋值.png

  • KVC、KVO小结和应用

    KVC 综述 通常,我们使用“.语法”去给对象赋值,而KVC是使用字符串描述对象属性或属性路径从而实现赋值。NSO...

  • iOS KVC的几种情况简析

    kvc取值时,需注意的几点问题; 讲解一下kvc各种问题,包括基础属性赋值,属性对象的属性赋值,私有属性赋值 以及...

  • 面试

    KVC KVC可以通过key直接访问对象的属性,或者给对象的属性赋值(包括私有属性),这样可以在运行时动态的访问或...

  • 对KVC读取顺序的理解

    KVC用了这么久,是时候总结一下kvc的原理了。kvc通过key直接访问对象的属性,或者给对象的属性直接赋值,因此...

  • iOS 对KVC、KVO理解

    什么是KVC KVC键值编码,允许通过key名直接访问对象的属性或者给对象的属性赋值,而不需要调用对象的存取方法。...

  • KVC & KVO原理

    1、KVC KVC可以通过key直接访问对象的属性,或者给独享的属性直接赋值,这样可以在运行时动态的访问或修改对象...

  • KVC与KVO的区别

    KVC的本质就是 (键值编码) 定义: 在对象创建完成之后,动态(牵扯到运行时)的给对象的属性赋值 KVC,即是指...

  • KVC与KVO的理解与应用

    kvc简述 kvc即键值编码,在iOS中的应用主要体现在开发者通过key访问对象的属性或给对象的属性赋值。这样做最...

网友评论

      本文标题:KVC 如何给非对象属性赋值

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