码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C 奇巧淫技--delegate挂钩

时间:2015-03-14 18:32:44      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:控件   编程   ios   objective-c   

Objective-C 奇巧淫技–delegate挂钩

奇技淫巧 指过于奇巧而无益的技艺与制品.

需求说明

在实际的编程过程中,我们总要定制一些控件,在定制的过程里,有时喜欢自己实现部分delegate方法

// MYScrollView.m

- (instancetype)init
{
    ...
    self.delegae = self;
    ...
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"%s 我被执行", __func__);
    ...
}

粗看上述的代码没什么问题, 可是当我们的其他对象也想实现delegate怎么办呢?

//  ViewController.m
- (void)viewDidLoad 
{
    ...
    scrollView.delegate = self;
    ...
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"%s 执行了ViewController里的方法,就不执行MYScrollView的方法了", __func__);
    ...
}

有的同学会在ViewController里的方法里在调用一下UIScrollView的方法,可以我们不知道MYScrollView自己实现了那些delegate方法啊,只能每个都转发一下了.

//  ViewController.m
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    [(MYScrollView *)scrollView scrollViewDidScroll:scrollView];
    ...
}
...

Objective-C 奇巧淫技--delegate挂钩

标签:控件   编程   ios   objective-c   

原文地址:http://blog.csdn.net/uxyheaven/article/details/44261831

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