zoukankan      html  css  js  c++  java
  • ios 开发 OC编程 类的扩展 协议 延展和 类目

    i

    //

    //  main.m

    //  0C - 08 类的扩展

    //

    //  Created by dllo on 15/11/4.

    //  Copyright (c) 2015 dllo. All rights reserved.

    //


    #import <Foundation/Foundation.h>

    #import "NSString+info.h"

    #import "NSArray+info.h"

    #import "cacl.h"

    #import "Girl.h"

    #import "Boy.h"

    int main(int argc, const char * argv[]) {

        //category 只添加方法不能够添加实例变量

    //    NSString *str = @"aaa";

    //    [str info];

    //    NSArray *Arr = [[NSArray alloc]init];

    //    [Arr info];

        

        

    //    cacl *p = [[cacl alloc]init];

    //    NSInteger ret = [p sorted3number:3 b:4 c:5];

    //    NSLog(@"%ld",ret);

        

        

        //协议

    #warning 1, 有一天蓝鸥来了一个美丽的女孩叫春儿(创建girl对象)

        Girl *girl = [[Girl alloc]init];

        

    # warning 4, 有个男孩一直暗恋春儿(创建boy对象)

        Boy *boy = [[Boy alloc]init];

    #warning 7, 男孩签了代理,变成了女孩协议的代理人(签代理)

        girl.delegate = boy;

    #warning  9 , 小平和春儿结婚了

        [girl getMarriaged];

        return 0;

    }

    //

    //  Boy.h

    //  0C - 08 类的扩展

    //

    //  Created by dllo on 15/11/4.

    //  Copyright (c) 2015 dllo. All rights reserved.

    //


    #import <Foundation/Foundation.h>

    #import "Girl.h"

    #warning 6, 于是男孩签订了协议(签订协议)

    @interface Boy : NSObject <MarriageDelegate>

    - (void)makeMoney;

    @end




    //

    //  Boy.m

    //  0C - 08 类的扩展

    //

    //  Created by dllo on 15/11/4.

    //  Copyright (c) 2015 dllo. All rights reserved.

    //


    #import "Boy.h"


    @implementation Boy


    #warning 5, 男孩发现满足女孩的条件(实现协议方法)

    - (void)makeMoney

    {

        NSLog(@"确实有个岛");

    }

    @end


    //

    //  Girl.h

    //  0C - 08 类的扩展

    //

    //  Created by dllo on 15/11/4.

    //  Copyright (c) 2015 dllo. All rights reserved.

    //


    #import <Foundation/Foundation.h>


    //协议首字母大写

    @protocol MarriageDelegate <NSObject>

    #warning 2, 女孩要征婚,拟订了一份协议(创建协议)

    - (void)makeMoney;


    @end

    @interface Girl : NSObject


    #warning 3, 女孩为应征者提供代理,满足条件的男孩可以签代理(创建代理)


    @property (nonatomic, assign) id< MarriageDelegate> delegate;



    @end



    //

    //  Girl.m

    //  0C - 08 类的扩展

    //

    //  Created by dllo on 15/11/4.

    //  Copyright (c) 2015 dllo. All rights reserved.

    //


    #import "Girl.h"


    @implementation Girl

    -(void)getMarriaged

    {

    #warning 8, 结婚前女孩验证了男孩的条件 (调用协议方法)

        [self.delegate makeMoney];

    }

    @end


    ****************************************************************************************协议的创建全过程
  • 相关阅读:
    项目实施经历
    Windows操作系统对物理内存支持
    企业管理靠员工自觉只能是海市蜃楼
    局域网IP冲突问题
    为什么编程是独一无二的职业?
    用命令实现Win7远程桌面关机和重启
    RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)
    Win7破解密码说明
    SAN,NAS,DAS及iSCSI其架构之间区别
    微软原版 windows server 2003 sp2 R2 系列下载分享
  • 原文地址:https://www.cnblogs.com/yuhaojishuboke/p/5043114.html
Copyright © 2011-2022 走看看