私はデリゲートメソッドを実装しています:
-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
アプリケーションで以下のコードを使用しています。ただし、警告が表示されますが、その理由はわかりません。私のコードは次のとおりです。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField.tag == 1) {
if(blah blah blah)
return YES;
//more code
if (blah blah) {
//more code
}
else if (blah blah) {
//more code;
}
else if (blah blah blah) {
//more code
}
//even more code
return NO;
}
else if (textField.tag == 2){
if(textField.text.length > 1) {
return NO;
}
return YES;
}
else if (textField.tag == 3) {
if(textField.text.length > 2) {
return NO;
}
return YES;
}
}
私が得ている警告は次のとおりです。
「コントロールは非 void 関数の終わりに到達する可能性があります。」各 "if" 句の最後に戻り値があるのに、なぜこの警告が引き続き表示されるのですか?