基于block的alertView

   这段时间闲来没事就研究一下block,说不上了解甚多,只是觉得它是一个研究方向,对自己有帮助所以就写了段代码来巩固一下,顺便纪念一下

   alertView是一个不错的控件,给ios开发提供了有利的帮助,但是苹果官方所给出的demo远远不能满足开发者的需要,所以就出现了许多自定义,在这个基础上,自己想用block来实现alertView的基本功能,什么都不说了 直接代码

   .h 文件

   

    #import <UIKit/UIKit.h>


   @interface ZYAlertView : UIAlertView<UIAlertViewDelegate>

   @property(copy, nonatomic)void (^ handlerIndex)(NSUInteger);

   - (void)showIt:(void(^)(NSInteger index))selectIndex;

   @end

  .m 文件


#import "ZYAlertView.h"


@implementation ZYAlertView

- (void)showIt:(void(^)(NSInteger index))selectIndex

{

self.delegate = self;

//init handler

_handlerIndex = [selectIndex copy];

   [selfshow];

}


- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

NSLog(@"_____   %d",buttonIndex);

_handlerIndex(buttonIndex);

   [_handlerIndexrelease];

}



@end




首先解释一下

self.delegate = self;

当你不填写这句话的时候 就起不到点击button 调用UIAlertDelegate的作用

_handlerIndex = [selectIndex copy];

这句话是初始化一个_handlerIndex




剩下的就是围绕这个代理方法所展开的工作    ,   block 我还会继续研究,有新的作品,将会继续展现

你可能感兴趣的:(block,自定义AlertView,AlertView)