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.csdn.net/detail/matrixhero/4645105