zoukankan      html  css  js  c++  java
  • IOS --- KVC

    KVC就是对象属性另一种方式的写(setValueForKey)与读(ValueForKey)。

    //  Book.h
    
    #import <Foundation/Foundation.h>
    
    @interface Book : NSObject{
        float price;
    }
    
    @end
    ----------------------------
    //  Person.h
    
    #import <Foundation/Foundation.h>
    @class Book;
    
    @interface Person : NSObject{
        NSString *name;
        Book *book;
    }
    
    @end
    ------------------------------
    #import "ViewController.h"
    #import "Person.h"
    #import "Book.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        Person *person = [[Person alloc] init];
        Book *book = [[Book alloc] init];
        
        [person setValue:book forKey:@"book"];
        [person setValue:@19.5 forKeyPath:@"book.price"];
        [person setValue:@"jack" forKey:@"name"];
        
        NSLog(@"price is %@",[person valueForKeyPath:@"book.price"]);
        NSLog(@"Name is %@",[person valueForKey:@"name"]);
    }
    --------------------
    2016-05-09 22:52:57.370 kvc[1704:97420] price is 19.5
    2016-05-09 22:52:57.371 kvc[1704:97420] Name is jack

    以上为个人理解,欢迎赐教。

  • 相关阅读:
    刚体动力学
    碰撞检测系统
    动画系统II
    动画系统
    Game Develop Books
    光照技术
    LR参数组取值操作方法
    loadrunner测试ajax框架
    ​Web(click and script) 与 Web(HTTP/HTML)协议区别
    性能测试常用的linux命令
  • 原文地址:https://www.cnblogs.com/garywong1949/p/5475772.html
Copyright © 2011-2022 走看看