UIAlertView關(guān)聯(lián)屬性 + 分類

UIAlertView關(guān)聯(lián)屬性

#import "FirstViewController.h"
//#import "UIAlertView+TmfUIAlertView.h"
#import <objc/runtime.h>
static const void *alertBlock = "alertBlock";
@interface FirstViewController ()

@end
@implementation FirstViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"s" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"?", nil];
    void(^block)(NSInteger) = ^(NSInteger btnIndex) {  
        NSLog(@"btnIndex:%ld",(long)btnIndex);
    };    
    objc_setAssociatedObject(self, alertBlock, block, OBJC_ASSOCIATION_COPY);
//    alert.block = ^(UIAlertView *alertView) {
//        
//        NSLog(@"ssss:%@",alertView);
//        
//    };
    [alert show];
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex NS_DEPRECATED_IOS(2_0, 9_0);
{
    void(^block)(NSInteger) = objc_getAssociatedObject(self, alertBlock);
    block(buttonIndex);
}
@end

UIAlertView 分類 增加block屬性

#import <UIKit/UIKit.h>
typedef void(^alertViewBlock)(UIAlertView *);
@interface UIAlertView (TmfUIAlertView)<UIAlertViewDelegate>
@property(nonatomic, copy) alertViewBlock block;
@end
#import "UIAlertView+TmfUIAlertView.h"
#import <objc/runtime.h>
static const void *tmfAlertViewKey = "tmfAlertViewKey";
@implementation UIAlertView (TmfUIAlertView)
- (void)setBlock:(alertViewBlock) block{
    objc_setAssociatedObject(self, tmfAlertViewKey, block, OBJC_ASSOCIATION_COPY);
    self.delegate = self;  
}
- (alertViewBlock)block{
    return objc_getAssociatedObject(self, tmfAlertViewKey);  
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex NS_DEPRECATED_IOS(2_0, 9_0);
{
    self.block(alertView);  
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容