基於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 我還會繼續研究,有新的作品,將會繼續展現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章