UITextField 入力値が連番だった場合アラート表示（4文字）

#今回の内容
<img width="150" alt="3BF306ED-08A8-4BF1-9354-C88D80304854_1_201_a.jpeg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1466343/3738f53b-afc5-b140-8cb5-5b7db72f267b.jpeg"> 

#コードと簡単解説

```Swift:
    func judge(judgeTarget:String){
        
        if Int(judgeTarget.prefix(2).suffix(1)) == Int(judgeTarget.prefix(1))! + 1 && 
           Int(judgeTarget.prefix(3).suffix(1)) == Int(judgeTarget.prefix(2).suffix(1))! + 1 &&
           Int(judgeTarget.suffix(1)) == Int(judgeTarget.prefix(3).suffix(1))! + 1{

            alert()

        }else if Int(judgeTarget.prefix(2).suffix(1)) == Int(judgeTarget.prefix(1))! - 1 && 
                 Int(judgeTarget.prefix(3).suffix(1)) == Int(judgeTarget.prefix(2).suffix(1))! - 1 &&
                 Int(judgeTarget.suffix(1)) == Int(judgeTarget.prefix(3).suffix(1))! - 1{
        
            alert()
                
        }else if judgeTarget.prefix(1) == judgeTarget.prefix(2).suffix(1) && 
                 judgeTarget.prefix(1) == judgeTarget.prefix(3).suffix(1) && 
                 judgeTarget.prefix(1) == judgeTarget.suffix(1){
            
            alert()
        }
```

##入力値が1234の場合
* 一番上の`if文`の対象になります。
 * まずは、2文字目を取得してきます。取得した2文字目が1文字目の値に`+1`をした値と等しい場合は1文字目と2文字目が連番だと確認できます。
 * 次は、3文字目を取得してきます。取得した3文字目が2文字目の値に`+1`をした値と等しい場合は2文字目と3文字目が連番だと確認できます。
 * 次は、4文字目を取得してきます。取得した4文字目が3文字目の値に`+1`をした値と等しい場合は3文字目と4文字目が連番だと確認できます。

##入力値が4321の場合
* 2番目の`else if文`の対象になります。 
 * まずは、2文字目を取得してきます。取得した2文字目が1文字目の値に`-1`をした値と等しい場合は1文字目と2文字目が連番だと確認できます。
 * 次は、3文字目を取得してきます。取得した3文字目が2文字目の値に`-1`をした値と等しい場合は2文字目と3文字目が連番だと確認できます。
 * 次は、4文字目を取得してきます。取得した4文字目が3文字目の値に`-1`をした値と等しい場合は3文字目と4文字目が連番だと確認できます。

##入力値が1111の場合
* 3番目の`else if文`の対象になります。 
 * まずは、1文字目を取得してきます。取得した1文字目と2,3,4文字目が同じ値であるかを確認します。


#全てのコード

```Swift:
import UIKit

class ViewController: UIViewController {
    
    
    @IBOutlet weak var textField: UITextField!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        textField.addTarget(self, action: #selector(judgeText), for: .editingChanged)
    }
    
    @objc func judgeText(sender:UITextField){
        
        if sender.text?.count == 4{
            
            judge(judgeTarget: sender.text!)
        }
        
    }
    
    func judge(judgeTarget:String){
        
        if Int(judgeTarget.prefix(2).suffix(1)) == Int(judgeTarget.prefix(1))! + 1 && 
           Int(judgeTarget.prefix(3).suffix(1)) == Int(judgeTarget.prefix(2).suffix(1))! + 1 &&
           Int(judgeTarget.suffix(1)) == Int(judgeTarget.prefix(3).suffix(1))! + 1{

            alert()

        }else if Int(judgeTarget.prefix(2).suffix(1)) == Int(judgeTarget.prefix(1))! - 1 && 
                 Int(judgeTarget.prefix(3).suffix(1)) == Int(judgeTarget.prefix(2).suffix(1))! - 1 &&
                 Int(judgeTarget.suffix(1)) == Int(judgeTarget.prefix(3).suffix(1))! - 1{
        
            alert()
                
        }else if judgeTarget.prefix(1) == judgeTarget.prefix(2).suffix(1) && 
                 judgeTarget.prefix(1) == judgeTarget.prefix(3).suffix(1) && 
                 judgeTarget.prefix(1) == judgeTarget.suffix(1){
            
            alert()
        }
        
    }
    
    func alert(){
        
        let alert = UIAlertController(title: "連番です", message: "連番だけど大丈夫かな？", preferredStyle: .alert)
        
        alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
        alert.addAction(UIAlertAction(title: "キャンセル", style: .cancel, handler: nil))
        
        self.present(alert, animated:true, completion: nil)
    }
}

```

# 終わり
もう一つパターンがあるのでそれについても、明日以降に投稿したいと思います。
ご指摘、ご質問などありましたら、コメントまでお願い致します。