zoukankan      html  css  js  c++  java
  • OC11_真正的代理

    //
    //  ReceiveReportDelegate.h
    //  OC11_真正的代理
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @protocol ReceiveReportDelegate <NSObject>
    
    - (void)report:(NSInteger)count;
    
    @end
    
    
    
    //
    //  MarsPerson.h
    //  OC11_真正的代理
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "ReceiveReportDelegate.h"
    
    @interface MarsPerson : NSObject <ReceiveReportDelegate>
    
    
    @end
    
    
    
    //
    //  MarsPerson.m
    //  OC11_真正的代理
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "MarsPerson.h"
    
    @implementation MarsPerson
    
    - (void)report:(NSInteger)count
    {
        NSLog(@"killed %li people",count);
    }
    
    @end
    
    
    //
    //  Person.h
    //  OC11_真正的代理
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "ReceiveReportDelegate.h"
    
    @interface Person : NSObject <ReceiveReportDelegate>
    
    
    @end
    
    
    
    //
    //  Person.m
    //  OC11_真正的代理
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Person.h"
    
    @implementation Person
    
    - (void)report:(NSInteger)count
    {
        NSLog(@"killed %li people", count);
    }
    
    @end
    
    
    //
    //  Dog.h
    //  OC11_真正的代理
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "ReceiveReportDelegate.h"
    
    @interface Dog : NSObject
    
    @property (assign,nonatomic) id <ReceiveReportDelegate>delegate;
    
    - (void)bark;
    
    @end
    
    
    //
    //  Dog.m
    //  OC11_真正的代理
    //
    //  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 ...");
        [self.delegate report:arc4random()%100+1];
    }
    
    @end
    //
    //  main.m
    //  OC11_真正的代理
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "Person.h"
    #import "MarsPerson.h"
    #import "Dog.h"
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            Dog *dog = [[Dog alloc] init];
            Person *xiaoHua = [[Person alloc] init];
            dog.delegate = xiaoHua;
            [dog bark];
            
            MarsPerson *xiaoXin = [[MarsPerson alloc] init];
            dog.delegate = xiaoXin;
            [dog bark];
        }
        return 0;
    }
  • 相关阅读:
    【PE/Codecs】YUV文件比较的两种方法
    【Python】删除非空目录的方法shutil.rmtree()以及空目录的方法os.rmdir()
    【SVAC】国家视频编解码标准SVAC的特色和优势
    【SVAC】国标SVAC对飙通行标准,优势何在?
    【SVAC】SVAC推广应用进入关键期和高峰期
    【SVAC】SVAC 2.0安全系统组成
    【SVAC】期待国标视频编解码标准SVAC2.0应用推广!
    【Python】python取整函数和获取文件大小的方法
    【Python】Python中的正则表达式教程
    【Python】 整型数与字符串相互转换
  • 原文地址:https://www.cnblogs.com/0515offer/p/4598615.html
Copyright © 2011-2022 走看看