利用runtime监听所有页面的UITextField (iOS)

本文介绍了如何利用Runtime在iOS开发中实现基类(BaseViewController)监听并管理所有子类中的UITextField,确保所有输入框填写完毕后才能进行下一步操作,简化代码维护。
摘要由CSDN通过智能技术生成

      在开发iOS的过程中,我们都会遇到许多有UITextField的页面,有的页面还不只一个。当我们提交填写的表单时,都会判断,是不是每个输入框都填写完成。效果如下:



如上图,当页面输入框都输入完毕后,才能做下一步操作!但是要每个输入框页面都做判断的话,很麻烦!

所以我们可以利用runtime,提前在BaseViewController里面做好所有判断操作,让有输入框的界面继承Base,通过runtime父类遍历出子类的成员,拿到子类页面所有输入框!这样省了很多事了!

具体代码如下:

BaseViewController.h 


#import <UIKit/UIKit.h>

#import "UIButton+toos.h"

@interface BaseViewController : UIViewController

//告诉子类是否所有输入框是否填写完毕的block

@property(nonatomic,copy)void(^isOKBlock)(BOOL isOk);


@end


BaseViewController.m


#import "BaseViewController.h"

//首先导入runtime库

#import <objc/runtime.h>

@interface BaseViewController ()<UITextFieldDelegate,UITextViewDelegate>

{

    BOOL isOK;//用来判断是否所有输入框都输入完毕

}

@property(nonatomic,strong)NSMutableDictionary * dic;

@end


@implementation BaseViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    //刚进来,肯定没输入!所以为NO

    isOK =NO;

    

   

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值