UITextField (に限らずUIView全般に言えますが) が画面にいくつかある場合、それら全てに共通の設定をしたいときがあります。
Xib/Storyboard で個別に設定していく場合は別ですが、コードで設定する場合、つい下記のような感じにやってしまいがちです。
self.firstField.delegate = self;
self.firstField.layer.borderWidth = 2;
self.firstField.layer.borderColor:[UIColor redColor].CGColor;
self.secondField.delegate = self;
self.secondField.layer.borderWidth = 2;
self.secondField.layer.borderColor:[UIColor redColor].CGColor;
// 以降続く...
ここで、各UITextFieldを一時的に配列にして、enumerateObjectsUsingBlock: メソッドを使って一気に同じ設定を施せば、見通しもよくなって良い感じです。
[@[self.firstField, self.secondField, self.thirdField, self.fourthField] enumerateObjectsUsingBlock:^(UITextField* obj, NSUInteger idx, BOOL *stop) {
obj.layer.borderWidth = 2;
obj.layer.borderColor:[UIColor redColor].CGColor;
obj.delegate = self;
}];
andreamazz/UITextField-Shake の実装を参考にさせて頂きました。