TIL
-
210123 - TILTIL/2021 2021. 1. 24. 02:11
Swift 오늘은 protocol에 대해서 복습을 했다. Protocol은 정의하거나 주의해야 할 점은 어렵지 않은데 이제 이것을 가지고 어떻게 활용하냐가 문제인 거 같다. 지금 생각나는 활용 방법은 delegate 만들때 사용하는 것이고 구조체나 열거형을 class의 상속 기능처럼 사용하는 방법?? 이게 이렇게 많이 쓰일지는 아직 모르기때문에 POP에 대해서 설명된 책을 한 번 봐야겠다. C# Terminal에서 C# 컴파일한 .dll 파일을 실행해보는 별거 아닌 것을 해보고 기초적인 것에 대해서 공부를 했다. using namespace project solution CLR(Common Language Runtime) IL(Intermediate Language) JIT(JustInTime) comf..
-
210120 - TILTIL/2021 2021. 1. 21. 03:54
Swift 오늘은 상속과 생성자에 대해서 복습을 했다. 주의 깊게 본 부분은 class의 init과 init의 2단계 초기화이다. Initializer Designated Initializer Convenience Initializer Required init Failable Init Initializer Delegation Project 및 그 외... 개인 프로젝트 디자인을 거의 끝 마쳤다... 이제 남은 화면은 두 개?? 미알못인 나에게 디자인이란 ㅠㅠ 그래도 저번 디자인은 못 봐줄 지경이었지만 지금 디자인은 보면서 만족 중이다. 알고리즘 공부도 틈틈이 하며 블로그 글들도 수정 중이다. 조만간 Swift문법 글도 다시 올릴 예정!
-
210117 - TILTIL/2021 2021. 1. 18. 02:28
Swift 오랜만에 문법을 복습했다. 오늘은 string에 대해서 공부했는데 가물가물하다 다시 알게 된 내용들이 있었다. 유니코드 \u{} 사용법 String(format:_:...) CustomStringConvertible 프로토콜 drop 메서드 CharacterSet iOS XCode 버그인거 같은데 StackView의 background 컬러가 바뀌지 않는 문제가 있는 거 같다. 분명 어제까지는 background가 잘 나오다가 안나오니 UI 수정을 하다가 잘못된 줄 알고 코드 고쳐보려 했지만 변화가 없어서 결국 stackView를 view로 바꿔 적용시켰다... XCode야 제발... 요즘은 왜이리 또 자주 먹통 되는 거니??
-
210113 - TILTIL/2021 2021. 1. 14. 03:06
iOS 오늘 프로젝트를 구현하며 공부한 부분은 textField의 delegate이다. TextField의 delegate를 이용하면 위와 같이 입력한 ID가 E-mail 형식이고 password가 4글자 이상이라면 로그인 버튼이 활성화되도록 구현할 수 있다. delegate에 선언된 textField(_:shouldChangeCharactersIn:replacementString:) 에서 코드를 구현하면 된다. 이메일은 정규식을 사용하여 검증하면 쉽게 검증이 가능하고 패스워드의 자리수도 count속성으로 쉽게 검증할 수 있다. 특수문자가 포함되어야하거나 대소문자가 포함돼야 하는 것도 구현할 수 있지만 개인적으로 의미 없이 귀찮게 하므로 빼버렸다!
-
210111 - TILTIL/2021 2021. 1. 12. 02:28
C# C#문법을 공부했다... Swift랑 왔다 갔다 헷갈리지만 많이 연습을 안 한 탓이겠지..! 시간을 더 내서 투자해야 하는데 할게 너무 많다. Extension - extension keyword가 따로 없다. Interface - Swift의 protocol Collection Anonymous Type - Tuple과 유사 Array - 배열이지만 swift 배열과는 조금 다르다. ArrayList - 그나마 조금 비슷한 배열 Hashtable - Dictionary랑 비슷 Stack Queue List - 이게 swift 배열과 가장 유사 Dictionary - 이것도! Error handling - try catch finally Generic 유사한게 많아서 다행이다. iOS 오늘 한 부분..
-
210110 - TILTIL/2021 2021. 1. 11. 03:41
오늘은 로그인 화면을 다시 구상했다. 이유는 디자인이 너무 구렸기 때문에.... 그러면서 공부하게 된 개념은 animation을 적용하는 방법과 notification 복습이었다. 로고가 중앙에서 위로 올라가도록 구현했는데 화면에 변화가 있으면 로고가 다시 내려오는 문제가 발생했다. 문제는 autolayout으로 제약을 설정했는데 animate메서드에서 frame을 변경했기 때문이다. 이 문제를 해결하려면 autolayout으로 설정한 제약을 원하는 값으로 변경한 후에 animate 메서드에서 self.view.layoutIfNeeded()를 호출해야 한다. 그렇게 하지 않으면 저렇게 다시 돌아가게 된다. 몇 가지 content를 추가한 후에 키보드가 나타나게 되면 contentsInset을 키보드의 높..
-
210106 - TILTIL/2021 2021. 1. 7. 03:50
iOS Map을 구현하는 방법에서 이동 경로를 나타내는 방법을 공부했다. showsBackgroundLocationIndicator allowBackgroundLocationUpdates MKMapView MKMapViewDelegate mapView(_:rendererFor:) 실시간으로 경로를 표시해주는 건 활용도가 낮고 따로 저장해 놓은 뒤에 총 이동경로를 나타내는 게 훨씬 좋다. 프로젝트에는 총 이동경로를 나타내도록 구현할 예정이다. C# swift와의 차이점을 위주로 공부하고 있다. 오늘 공부한 부분은 연산자 조건문 반복문 func swift에 익숙해져 있어서 불편한 점이 많지만 할 만은 하다...
-
210104 - TILTIL/2021 2021. 1. 5. 04:52
iOS 오늘은 지도를 이용하는 방법을 공부했다. 저번에 한번 공부했었던 CLLocationManager를 이용하는 방법인데... 오늘 보니 새롭네???ㅠㅠ 그래서 복습 겸 오늘 공부한 부분은 CLLocation desiredAccuracy activityType startUpdatingLocation() stopUpdatingLocation() CLLocationManagerDelegate locationManager(_:didUpdateLocations:) locationManager(_:didFailWithError:) locationServicesEnabled() CLAuthorizationStatus MapKit distance(from:) 공식문서를 읽어보며 실시간 위치정보를 받아오는 방법을 공..