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
****************************************************************************************协议的创建全过程
//
// 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
****************************************************************************************协议的创建全过程
相关文章推荐
- ios 开发 OC编程 内存管理
- ios 开发 OC编程 块语法bolck的一些应用
- ios 开发 OC编程 块语法bolck
- IOS线程操作(3)
- iOS NSPredicate详解(一)
- iOS 开发 OC编程 字典和集合 排序方法
- iOS 开发 OC编程 数组冒泡排序.图书管理
- iOS 开发 OC编程 属性和字符串练习
- iOS 开发 OC编程 属性和字符串
- iOS 开发 OC编程 便利构造器以及初始化方法
- iOS 开发 OC编程 方法的书写
- IOS 开发 OC编程 类和对象
- ios开发系列之多线程的三种实现方法
- iOS开发中URL图片存储到本地相册与相册访问权限
- iOS工程中编译器报黄警告
- iOS 正则表达式 NSRegularExpression
- iOS 指纹解锁
- iOS支付宝集成后出现崩溃的调试总结
- iOS 计算应用缓存大小
- iOS 清除缓存