insertspaceInExpiryDateTextField()関数をtextField()関数に呼び出して上記のエラーを取得しようとしています。'Int'型の値を 'UInt'の期待値型に変換できません
//有効期限のテキストフィールドを2桁の後に "/"とする。 Expirey日付フィールドを作る
func insertspaceInExpiryDateTextField(string: String,inout andPreserveCursorPosition cursorPosition: UInt) -> String {
var stringWithAddedSpaces: String = ""
for index in 0.stride(to: string.characters.count, by: 1) {
if index != 0 && index % 2 == 0 {
stringWithAddedSpaces += " "
if index < Int(cursorPosition) {
cursorPosition += 1
}
}
let characterToAdd: Character = Array(string.characters) [index]
stringWithAddedSpaces.append(characterToAdd)
}
return stringWithAddedSpaces
}
//この関数に上記の関数を呼び出す //は....また、月と年を分割する2桁の数字の後に「/」を与えるだけで4桁の数字を取ります。
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if textField == self.txt_expDate {
self.insertspaceInExpiryDateTextField(textField.text!, andPreserveCursorPosition: (&UInt(range.length))) // Here I get the error
txt_expDate.text! = txt_expDate.text!.stringByReplacingOccurrencesOfString(" ", withString: "/", options: NSStringCompareOptions.LiteralSearch, range: nil)
return ((txt_expDate.text?.characters.count)! >= 4 && range.length == 0) ? false : true
}
}
// UIntエラー以外はすべて正常に動作します。
//私もError 'cannot convert value of type 'int' to expected argument type 'UInt'でチェックしませんが、何の使用..
は私が間違っているつもりですいずれかの特定の行がありますか? NSRangeのおかげ おかげ
self.insertspaceInExpiryDateTextField(TextFieldを。 (UInt(range.length)))//ここでエラーが発生する –