本文主要是介绍KVC设计模式讲解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在Objective-c语言中,可以用@property和@synthesize来创建实例变量的属性,因此对象访问的时候可以直接使用点语法。
但是,如果不声明属性,如何访问到对象的实例变量呢?KVC就解决了这一问题。
KVC 全称Key-Value-Coding,也就是键值编码。先看下面一个例子:
@interface Student : NSObject
{
NSString* name;
}
-(NSString*)description;
@end
@implementation Student
-(NSString*)description
{
return [NSString stringWithFormat:@"%@",name];
}
@end
int main(int argv,const char* argc[ ])
{
@autoreleasePool{
Student* student = [[Student alloc] init];
[student setValue:@"zhangsan" forKey:@"name"];//这里用到的KVC,每个从NSObject继承而来的类都继承了-(void)setValue:(id) forKey:@"实例变量"
这篇关于KVC设计模式讲解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!