Block的一点优点为可以省略回调函数,简化代码今天我就应用了以下。
以下是代码片段。
_testTextField1=[[MyTextField alloc] init];
[self.view addSubview:_testTextField1];
[_testTextField1 release];
_testTextField1.obj=self;
_testTextField1.textField.placeholder=@"小于5的字符判断";
_testTextField1.textField.font=[UIFont systemFontOfSize:14];
_testTextField1.myConditionBlock=^(NSString * str){//加入你要判断或者赋值的语句
if(str.length<=5)
{
return YES;
}
return NO;};
_testTextField1.myAlertBolck=^(id obj){
[_testTextField1.textField resignFirstResponder];
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"test" message:@"请输入小于5的字符串" delegate:obj cancelButtonTitle:@"确定" otherButtonTitles: nil];
[alertView show];
[alertView release ];
};
这样可以把判断条件和触发事件分开,并且放在一个实例里面。并且可以把两个实例相关联。使用起来较为方便。
以下是代码的下载地址:http://download.youkuaiyun.com/detail/matrixhero/4645105