您的位置:首页 > 移动开发 > IOS开发

ios 开发 OC编程 类的扩展 协议 延展和 类目

2015-11-08 14:12 513 查看
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

****************************************************************************************协议的创建全过程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: