zoukankan      html  css  js  c++  java
  • OC9_代理正向传值

    //
    //  ProtectedDeleagate.h
    //  OC9_代理正向传值
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @protocol ProtectedDeleagate <NSObject>
    - (void)bark:(NSInteger)count;
    
    @end
    
    
    
    //
    //  Person.h
    //  OC9_代理正向传值
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "ProtectedDeleagate.h"
    
    @interface Person : NSObject
    //{
    //   __unsafe_unretained id <ProtectedDeleagate>_delegate;
    //}
    @property (nonatomic,assign)id <ProtectedDeleagate>delegate;
    
    @property (nonatomic)NSInteger count;
    
    - (void)go;
    
    @end
    
    
    
    //
    //  Person.m
    //  OC9_代理正向传值
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Person.h"
    
    @implementation Person
    
    - (void)go
    {
        [_delegate bark:self.count];
    }
    @end
    
    
    
    //
    //  Dog.h
    //  OC9_代理正向传值
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "ProtectedDeleagate.h"
    
    @interface Dog : NSObject <ProtectedDeleagate>
    
    @end
    
    
    
    //
    //  Dog.m
    //  OC9_代理正向传值
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Dog.h"
    
    @implementation Dog
    
    - (void)bark:(NSInteger)count
    {
        for (NSInteger i=0; i<count; i++) {
            NSLog(@"Wang wang wang ...");
        }
    }
    
    @end
    //
    //  main.m
    //  OC9_代理正向传值
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "Dog.h"
    #import "Person.h"
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            Person *xiaoXin = [[Person alloc] init];
            xiaoXin.count = 5;
            Dog *dog = [[Dog alloc] init];
            xiaoXin.delegate = dog;
            [xiaoXin go];
        }
        return 0;
    }
  • 相关阅读:
    Failed to parse PID from file /run/nginx.pid: Invalid argument
    Ubuntu16.04环境下bashrc文件位置
    virtualenvwrapper.sh报错: There was a problem running the initialization hooks.解决
    pip安装virtualenvwrapper报错的解决办法
    争鸣|函数性质的综合应用辨析
    总结|静雅斋之2020高考备考回顾总结
    2020年全国卷Ⅱ卷文科数学图片版
    奇怪|说好的求最大值变成了求最小值
    探究|平面向量探究题
    平面向量错误收集
  • 原文地址:https://www.cnblogs.com/0515offer/p/4598586.html
Copyright © 2011-2022 走看看