μλ νμΈμ ~
μ€λμ μ κ·μμ λν΄μ κ°λ¨νκ² μ 리νλ €κ³ ν©λλ€ : )
νλ‘μ νΈλ₯Ό μ§ννλ€ λ³΄λ©΄
μ΄λ©μΌ, λΉλ°λ²νΈ λ±κ³Ό κ°μ΄ νΉμ ν κ·μΉμ νμλ‘ νλ μ λ ₯μ΄ μ‘΄μ¬ν μλ°μ μμ΅λλ€.
κ·Έλ΄ λ νμν κ² λ°λ‘ μ κ·μμ λλ€.
μ΄λͺ¨ν°μ½μ λ°©μ§νλ μ κ·μμ μ μ΄λ³΄λ©΄μ μ λ¦¬ν΄ λ³΄κ² μ΅λλ€.
μ κ·μ
κ°μ₯ λ¨Όμ νΉμ ν 쑰건(μ¬κΈ°μλ μ΄λͺ¨ν°μ½ λ°©μ§)μ ν΅ν΄ Bool κ°μ λ°ννλ ν¨μλ₯Ό λ§λ€μ΄λ³΄κ² μ΅λλ€.
func isCorrect() -> Bool {
do{
let regex = try NSRegularExpression(pattern: "^[a-zA-Zκ°-ν£γ±-γ
γ
-γ
£\\s]$", options: .caseInsensitive)
if let _ = regex.firstMatch(in: self, options: NSRegularExpression.MatchingOptions.reportCompletion, range: NSMakeRange(0, [λ¬Έμμ΄μ μ΅λ κΈΈμ΄])){
return true
}
} catch {
print(error.localizedDescription)
return false
}
return false
}
μμ μ½λλ₯Ό 보면 μ κ·μμ μ¬μ©ν λ do, catchλ₯Ό μ΄μ©ν΄
ν¨ν΄μ΄ μ ν¨νμ§ μκ±°λ μ»΄νμΌν μ μμ κ²½μ° falseλ‘ λ°ννλ κ²μ νμΈν μ μμ΅λλ€.
μλλ μ¬μ©ν μ κ·μμ λλ€.
^[a-zA-Zκ°-ν£γ±-γ
γ
-γ
£\\s]$
^ : μ κ·μ μμμ λνλ λλ€.
$ : μ κ·μ λμ λνλ λλ€.
^μ &μ¬μ΄μ μνλ μ κ·μ ννλ₯Ό λ£μ΄μ£Όλ©΄ λ©λλ€.
μ¦, ν΄λΉ μ κ·μμ μνλ²³ λμλ¬Έμ λ° νκΈλ§ μ λ ₯μ΄ κ°λ₯ν©λλ€.
λ°λΌμ μ΄λͺ¨ν°μ½μ μ λ ₯ν μμ isCorrect λ©μλλ falseλ₯Ό λ°ννκ² λ©λλ€.
λ§μ½ μ΄ μμ μ UITextFieldμμ νκ³ μλ€λ©΄
shoudChangeCaractersInμμ ν΄λΉ ν¨μλ₯Ό νΈμΆν΄ μ£Όλ©΄ μ λ ₯ μ¬λΆλ μ ν μ μμ΅λλ€.
// 맀 κΈμλ§λ€ νΈμΆ
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let title = string.cString(using: .utf8) // ν΄λΉ λ¬Έμμ΄μ .utf8λ‘ λ³ν
if title.hasCharacters() {
// hasCharacters λ©μλ λ΄λΆμ μμ±ν΄λ isCorrectλ₯Ό νΈμΆνλ λΆλΆμ΄ μμ΅λλ€.
return true
}
return false
}
μ΄μ 맀 κΈμλ₯Ό μ λ ₯ν λλ§λ€
μ λ ₯μ΄ κ°λ₯νμ§ λΆκ°λ₯νμ§ hasCharactersλ₯Ό νΈμΆνλ©΄μ
textfieldμ μ λ ₯λκ±°λ λμ§ μκ² λ©λλ€.
νΉμλ μλͺ»λ λ΄μ©μ΄ μλ€λ©΄ λκΈλ‘ λ¨κ²¨μ£ΌμΈμ.
κ·ΈλΌ μ΄λ§ ππ» ππ» ππ»
'iOS > Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ Swift ] κ°λ¨ν ν μ€νΈ λ©μΈμ§ ꡬννκΈ° (feat.UILabel) (0) | 2022.09.16 |
---|---|
[ Swift ] Realmμμ λ°°μ΄μ¬μ©νκΈ° ( feat.List ) (0) | 2022.06.28 |
[ Swift ] κ³ μ°¨ν¨μ κ°λ¨νκ² μ 리ν΄λ³΄κΈ° ( Map, Filter, Reduce ) (0) | 2022.06.22 |
[swift] μ±ν UI ꡬνν΄λ³΄κΈ°(2) (0) | 2022.03.09 |
[swift] μ±ν UI ꡬνν΄λ³΄κΈ°(1) (0) | 2022.03.03 |