假设有一个Jack的人(Person),他想租一套公寓(Apartment),由于他工作繁忙,没有时间去租房,因此,他委托中介(Agent)帮他寻找房源,找到合适的房源告知Jack。
首先创建一个Person类(写出基本属性和方法),person需要找房子,但是自己工作繁忙做不了,需要去找一个代理,因此一般就在这个类中写协议方法。然后代理人Agent遵守协议并实现协议中必须要实现的方法。然后再行完善,最后main文件里实现就可以了。
Person.h:
#import <Foundation/Foundation.h>
typedef enum {
kHighRent,
kLowRent,
kMiddleRent,
}HouseRent;
@class Person;
@protocol LookingForApartment <NSObject>
-(HouseRent) findApartment:(Person *) person;
@end
@interface Person : NSObject
@property (nonatomic,copy) NSString *name;
@property (nonatomic,assign) id<LookingForApartment> delegate; //代理,委托对象
-(id) initWithName: (NSString *) name andDelegate: (id<LookingForApartment>) delegate;
-(void) wantToFindApartment;
-(void) startToFindApartment:(NSTimer *)timer;
@end
Person.m: