在 iOS 文档中读取 KVC Compliant 时。我试图测试一个类。是否符合 KVC 类?
但我有一些问题:
属性“Name”、“Age”没有设置器,并且该类仍在使用 KVC 且没有错误并且不会触发任何异常
当没有为属性创建 setter 时,编译器会做什么?它是否创建了 setter 和 getter 对?
人.h
@interface Person : NSObject { NSString *name; NSInteger age; }
人.m
@implementation Person - (id)init { self = [super init]; if (self) { name = @"Duc Nguyen"; age = 10; } return self; }
视图控制器.m
- (IBAction)showKeyKVC:(id)sender { //--test kvc name1.text = [person valueForKey:@"name"]; age1.text = [NSString stringWithFormat:@"%@", [person valueForKey:@"age"]]; }
当我按下按钮时,结果是:年龄:10,姓名:Duc Nguyen。我不明白在这种情况下该类如何使用 KVC?