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
    
  • 相关阅读:
    记一次centos7.2下用crontab执行定时任务的过程(初级)
    海外手机号码正则匹配
    装了wamp之后,80端口被占用解决办法
    newtonsoft动态修改JObject
    .net正则提取手机号码,并替换带有手机号码的a标签
    .vs目录有什么用?
    centos7安装nginx-1.13.6 新手入门,图文解析
    centos7安装kafka_2.11-1.0.0 新手入门
    centos7安装apache 新手入门 图文教程
    面向对象——案例练习(4)判断点是否在圆的内部
  • 原文地址:https://www.cnblogs.com/0515offer/p/4665452.html
Copyright © 2011-2022 走看看