Swift 140

Section19 247) searchbar에서 검색 취소 클릭시 키보드 내리기

searchbar에서 검색 취소 클릭시 키보드 내리기 func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { //검색을 하다가 (text did change), searchbar 의 텍스트가 0이되는 때 (x 버튼 클릭시), 영구 core data에 있는 모든 데이터를 불러온다. if searchBar.text?.count == 0 { loadItems() DispatchQueue.main.async { searchBar.resignFirstResponder() //해당 라인은 foreground 에서 실행됨 } } } //CRUD 중에 R (READ) (Core Data) func loadItems(with request..

Section19. 249) CoreData

Section19. 249) CoreData 어떤 프로젝트를 만들다가, 음 프로젝트에 들어갈 데이터가 그다지 많지 않을거같은데? 하고서 UserDefaults로 하다가 ... 만약 데이터 양이 많이 들어가야되는구나 라고 깨닫게 되는 순간, 해당 프로젝트에서 처음부터 CoreData 체크표시 안했더라도 중간과정에서도 CoreData를 추가할 수 있다. 다음과 같은 방법으로 .. cmd+N 을 눌러 새로운 파일 생성하는 식으로 아래를 연다. 그리고 Data Model을 선택한다. 그리고 동시에, 현재 작업하고 있던 프로젝트 외에 새로운 프로젝트를 Core Data 를 체크한 상태로 생성한다. 거기에서 AppDelegate.swift 를 연 다음, 아래 부분을 복사해서 원래의 프로젝트 AppDelegate.s..

Section19. 246) NSCoder로 데이터 인코딩/디코딩(save & load)

Section19. 246) NSCoder로 데이터 인코딩/디코딩하기 iOS sandbox 방식을 이용해서 Documents에 많은 정보를 저장하고 불러오는 방식. 즉, documents -> Info.plist에 저장하는 방식으로 하는 방법임 (사용자 커스텀 및 다양, 많은 정보 저장할 때 이용하는 방법 중 하나) - NSCoder. (UserDefaults로는 소소한 정보만을 저장할 뿐 사용자 커스텀 등 방대한 정보를 저장하지는 말자.) 데이터를 인코딩한다? = 본질적으로 한 데이터 유형을 다른 데이터유형으로 변환하는 것. ex) 음악 -> Encoder -> 비닐디스크 ex) 비닐디스크 -> Decoder -> 음악 func saveItems() => 사용자 정의 개체의 배열을 plist에 쓸 수 ..

Debug with breakpoint

Debug with breakpoint self.itemArray.append(textField.text!) 전/후로 달라진 itemArray를 보고 싶은 경우 ?? 1) 전 breakpoint 찍고나서, 디버그창에다가 print itemArray 치면 현재의 itemArray를 보여줌 (3가지) 2) 후 breakpoint를 무시하고 그 다음줄까지 쭉 실행시켜보고 싶으면 step over (디버그창의 왼쪽에서 두번째) 를 클릭해서 실행시킨뒤 다시 print itemArray로 출력해보면 됨.

iOS Rxswift Subject

iOS Rxswift Subject Subject란? Observable 및 Observer 의 기능을 같이 하는 것 (구독subscribe도하고, 값도 전달이 가능) Subject : 2가지 기능 = subscribe, next Subject에는 4가지가 있다 1) publish 2) behavior 3) replay 4) async (거의 안씀) 따라서 위의 1,2,3을 제대로 공부할 것 1) vs 2) 초기값의 유무 1) publish - 초기값 X 2) behavior : 초기값이 필수. 구독 전에 가장 최근 값을 같이 emit. ex) placeholder, 테이블뷰 초기값 등 3) replay let replay = ReplaySubject.create(bufferSize: 3) //buffe..

iOS swift Eggtimer - timer, progress bar

https://easy-coding.tistory.com/92 Swift 타이머(Timer) 사용 60초 카운트다운(CountDown)으로 동작하는 타이머 사용 예제입니다. 예제 코드 //타이머 변수 선언 var timer : Timer? //타이머에 사용할 번호값 var timerNum: Int = 0 //타이머 시작 public func startTimer().. easy-coding.tistory.com https://crazydeer.tistory.com/entry/iOSSwift-Progress-Bar-%EC%82%AC%EC%9A%A9%EB%B2%95 // egg button 클릭시 한번에 progress bar가 다 차게끔 하는 코드 progressbar.progress = 1.0 // How..

iOS switch문 연습

요약: 1. if, else if... 등으로 나타내야 하는 구문이 5개 이상이라면 무조건 switch 구문이 낫다. 2. if, else if.... = switch 같은 역할 위의 switch구문은 아래 if, else if 구문과 의미가 같다. 월 ~ 일요일 switch문으로 출력 (1 ~ 7에 해당하는 각각의 요일 출력) ////Don't change this var aNumber = Int(readLine()!)! func dayOfTheWeek(day: Int) { switch day { case 1: print("Monday") case 2: print("Tuesday") case 3: print("Wednesday") case 4: print("Thursday") case 5: print(..

iOS swift addGestureRecognizer 클릭시 UILabel 색상 변화

런칭한 앱 업데이트 중 기록 -collectionview에서 collectionview 클릭시 해당 contentview에 있는 placeLabel 색상이 검정->textcolor로 바뀌면서 화면 전환. ShopVC.swift //클릭할 때 색깔이 칠해지는 부분 인식하기 위해서 일단 선언 nil, 0, 1, 2, ... var selectedIndexPath: IndexPath! //collectionview에 tap했을때 감지하는걸 달아줌 override func viewDidLoad() { collectionView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(didTouchDown(gestureRecogniz..