• OC6_代理的基本概念


    //
    //  Person.h
    //  OC6_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "Dog.h"
    
    @interface Person : NSObject
    {
        Dog *_delegate;
    }
    
    @property (nonatomic)Dog *delegate;
    
    
    - (void)go;
    
    @end
    
    
    //
    //  Person.m
    //  OC6_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Person.h"
    
    @implementation Person
    
    - (void)go
    {
        [_delegate bark];
    }
    
    @end
    //
    //  Dog.h
    //  OC6_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface Dog : NSObject
    
    - (void)bark;
    
    @end
    
    
    //
    //  Dog.m
    //  OC6_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Dog.h"
    
    @implementation Dog
    
    - (void)bark
    {
        NSLog(@"Wang wang wang ...");
    }
    
    @end
    //
    //  main.m
    //  OC6_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "Person.h"
    #import "Dog.h"
    
    //代理:
    //买火车票  你 --> 黄牛
    //张 <--> 律师
    //以张的角度 律师是张的代理 (正向代理)
    //从律师的角度看 张是律师的代理 (反向代理)
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            Person  *xiaoXin = [[Person alloc] init];
            Dog *dog = [[Dog alloc] init];
            xiaoXin.delegate = dog;
            [xiaoXin go];
        }
        return 0;
    }
  • 相关阅读:
    基于Mybatis3.0.6的基本操作介绍
    正则验证邮箱格式是不是正确
    Linux_文件权限
    飘逸的python
    通过Fsharp探索Enterprise Library Exception
    Oracle学习——扫盲篇
    代码块练习题:看代码写程序的执行结果。
    代码块:在Java中用{}括起来的代码
    Java中如何使用帮助文档(API)
    Java如何制作帮助文档(API)
  • 原文地址:https://www.cnblogs.com/0515offer/p/4598534.html
Copyright © 2020-2023  润新知