码迷,mamicode.com
首页 > 移动开发 > 详细

蓝懿IOS委托模式代理模式

时间:2016-01-04 19:53:18      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

 

今天刘国斌老师讲了有关oc语言里的委托模式(代理模式),通过了一个打地鼠的游戏讲解了委托模式的功能作用,之后连带讲解了协议的书写和使用。  

     打地鼠功能包括屏幕随机出现地鼠,点击消失,如果不点击5秒后自动消失,屏幕右上角有一个label显示点击的数量;编写思维是,首先在文件里粗昂见一个类,在类里重写init方法,加上每。5秒出现的事件,倒入viewcontroler文件,在地鼠类里声明一个属性delegate,在button点击事件加上创建对象点delegate调用viewcontroler里的加分方法。    

      协议的使用时先创建对象,三步顺序  一般都是用苹果给我们写好的控件,不用自己写协议。

      一,用对象点delegate

      二,如果能点出delegate那么该控件就有协议,到interface上写上协议

      三,看协议里是否有必须执行的方法

- (void)viewDidLoad {

    [super viewDidLoad];

    self.lb=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 55,55)];

    self.lb.backgroundColor=[UIColor redColor];

    self.lb.text=@"0";

    [self.view addSubview:self.lb];

    

    [NSTimer scheduledTimerWithTimeInterval:1 target:selfselector:@selector(moo) userInfo:nil repeats:YES];

    

}

-(void)moo{

    Mouse *mm=[[Mousealloc]initWithFrame:CGRectMake(arc4random()%333,arc4random()%666, 33, 33)];

    //   委托模式,实例一个对象,在Mose里又一个属性 ViewController *vc,叫对象mm点出他的属性,之后把自身的页面给mm里的属性vc。

    mm.vc=self;

    [self.view addSubview:mm];

    

}

    //   声明方法,叫Mouse类每次调用此方法是label的text数值加一

-(void)addS{

    int old=self.lb.text.intValue;

    int new=old+1;

    

    self.lb.text=@(new).stringValue;

}

 

蓝懿IOS委托模式代理模式

标签:

原文地址:http://www.cnblogs.com/lanyisanqqi/p/5100021.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!