본문 바로가기

스위프트3

iOS Swift TextField 클리어 버튼 시 소프트 키보드 올라오는 현상 해결방법 TextField의 클리어 버튼을 탭하면 TextField의 내용이 지워지고, 소프트 키보드가 올라오는데 이 키보드가 올라오지 않게 하는 간단한 방법입니다.약간의 꽁수를 썼는데, 크리어 버튼이 눌러질 때 TextFiel의 isEnabled를 false로 지정해서 비활성화 시키고 DispatchQueue를 이용하여 0.1초 후 다시 활성화를 시켜서 문제를 해결했습니다.  func textFieldShouldClear(_ textField: UITextField) -> Bool { searchRecent() tfSearch.isEnabled = false DispatchQueue.main.asyncAfter(deadline: .now().. 2024. 5. 6.
[iOS 앱 개발] Swift 클로저(Closure), 후행 클로저 자바 .Net에서 람다식(Lambda) 즉 익명함수로 알고 있던 것이 Swift에서는 클로저(Closure)라고 합니다. 클로저를 사용하면 코드는 간결해지지만, 불필요하게 사용하면 가독성이 떨어질 것 같습니다. 람다식을 거의 사용하지 않고 있지만, Swift에서는 친숙해지기로 했습니다.^^ 클로저 표현식 구문 { (파라미터) -> 리턴타입 in 실행 구문 } 파라미터와 리턴이 없는 경우 var hello = {() -> Void in print("Hello") print("World") } hello() 파라미터는 있고, 리턴이 없는 경우 var hello = {(name:String) -> Void in print("Hello") print(name) } hello("Korea") 파라미터와 리턴이 있.. 2022. 9. 16.
[iOS 앱 개발] Swift Set 컬렉션의 유용한 Set을 사용하는 법을 간단하게 소개합니다. Set은 중복 없이 값을 저장 할 수 있어서 코딩 시 유용하게 사용 할 수 있습니다. 예로 리스트 화면의 각 항목을 여러번 수정을 할 수 있는데, 이렇게 수정된 목록을 Set에 저장하면 하나의 수정된 항목만 관리 할 수 있습니다. 빈 Set 초기화 var intSet : Set = [] var strSet = Set() Set 초기화 var intSet : Set = [1,2,3] var strSet : Set = ["A", "B", "C", "A", "C"] // 중복 값은 제거됨 > ["A", "B", "C"] Set에 추가하기 var strSet : Set = ["A", "B", "C"] strSet.insert("D") Set에서 삭제하.. 2022. 9. 2.