zoukankan      html  css  js  c++  java
  • KVC

    //  UserModel.h
    //  KVC
    //
    //  Created by 张国锋 on 15/7/20.
    //  Copyright (c) 2015年 张国锋. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface UserModel : NSObject
    
    @property (nonatomic,strong)NSString * userName;
    
    @end
    
    //  UserModel.m
    //  KVC
    //
    //  Created by 张国锋 on 15/7/20.
    //  Copyright (c) 2015年 张国锋. All rights reserved.
    //
    
    #import "UserModel.h"
    
    @implementation UserModel
    
    @end
    
    
    //  StudentModel.h
    //  KVC
    //
    //  Created by 张国锋 on 15/7/20.
    //  Copyright (c) 2015年 张国锋. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface StudentModel : NSObject
    
    @property (nonatomic,strong)NSString * studentName;
    @property (nonatomic,strong)NSString * sex;
    /*........*/
    @end
    
    
    //  StudentModel.m
    //  KVC
    //
    //  Created by 张国锋 on 15/7/20.
    //  Copyright (c) 2015年 张国锋. All rights reserved.
    //
    
    #import "StudentModel.h"
    
    @implementation StudentModel
    {
        NSString *_age;
        NSArray *_friends;
    }
    
    -(void)setValue:(id)value forUndefinedKey:(NSString *)key{
        NSLog(@"UndefinedKey:%@",key);
    }
    
    @end
    
    //  ViewController.h
    //  KVC
    //
    //  Created by 张国锋 on 15/7/20.
    //  Copyright (c) 2015年 张国锋. All rights reserved.
    //
    
    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController
    
    
    @end
    
    
    //
    //  ViewController.m
    //  KVC
    //
    //  Created by 张国锋 on 15/7/20.
    //  Copyright (c) 2015年 张国锋. All rights reserved.
    //
    
    #import "ViewController.h"
    #import "UserModel.h"
    #import "StudentModel.h"
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
    //    UserModel *userModel=[UserModel new];
        UserModel *userModel=[[UserModel alloc]init];
        userModel.userName=@"邓超";
        NSLog(@"%@",userModel.userName);
        
        
        StudentModel *studentModel=[StudentModel new];
        //原理:编译器会首先查找setStudentName,会从属性里面去找studentName,如何再没找到,他会找_studentName。
        [studentModel setValue:@"孙俪" forKey:@"studentName"];
        NSLog(@"%@",[studentModel valueForKey:@"studentName"]);
        
        [studentModel setValue:@"18" forKey:@"age"];
        NSLog(@"%@",[studentModel valueForKey:@"age"]);
        
        
        [studentModel setValue:@[@"Baby",@"daheiniu",@"猎豹凯"] forKey:@"friends"];
        NSLog(@"%@",[studentModel valueForKey:@"friends"]);
        
        NSDictionary *dic=[NSDictionary dictionaryWithObjects:@[@"18",@"范爷",@"女"] forKeys:@[@"age",@"studentName",@"seex"]];
        StudentModel *fanye=[StudentModel new];
        [fanye setValuesForKeysWithDictionary:dic];
        
        
    
        
    //    [studentModel setValuesForKeysWithDictionary:];
        //
        
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    
  • 相关阅读:
    winfrom绘制渐变 / 调用浏览器访问指定地址
    解决sever 2008中tomcat的报错 init Failed to initialize end point associated with ProtocolHandler ["http-nio-80"]
    SizeGripStyle 枚举
    不安全代码只会在使用/unsafe 编译的情况下出现
    VS2017自定义代码片段, 实现快捷输入
    C#获取程序代码执行时长
    C#简单操作XML
    数据库基线检查工具DB_BASELINE
    SQLmap使用手册小结(二)
    SQLmap使用手册小结(一)
  • 原文地址:https://www.cnblogs.com/0515offer/p/4665452.html
Copyright © 2011-2022 走看看