     
     //MARK: IBAction
     @IBAction func deleteInputString(_ sender: AnyObject) {
-        guard inputString.characters.count > 0 && !passwordDotView.isFull else {
+        #if swift(>=3.2)
+            guard inputString.count > 0 && !passwordDotView.isFull else {
+                return
+            }
+            inputString = String(inputString.dropLast())
+        #else
+            guard inputString.characters.count > 0 && !passwordDotView.isFull else {
             return
-        }
-        inputString = String(inputString.characters.dropLast())
+            }
+            inputString = String(inputString.characters.dropLast())
+        #endif
     }
     
     @IBAction func touchAuthenticationAction(_ sender: UIButton) {


extension PasswordContainerView: PasswordInputViewTappedProtocol {
    public func passwordInputView(_ passwordInputView: PasswordInputView, tappedString: String) {
        guard inputString.characters.count < passwordDotView.totalDotCount else {
            return
        }
        inputString += tappedString
    }
}

    
    fileprivate var inputString: String = "" {
        didSet {
            #if swift(>=3.2)
                passwordDotView.inputDotCount = inputString.count
            #else
                passwordDotView.inputDotCount = inputString.characters.count
            #endif
            
            checkInputComplete()
        }
    }
