TIL
-
201026 - TILTIL/2021 2020. 10. 27. 03:08
오늘은 현업 개발자 분과 만나서 도움이 되는 말씀을 듣고 궁금했던 점을 질문하는 자리가 있었다. 아주 많은 도움이 됐다!!! 그래서 오늘은 문법공부를 하지 못했다... 서울까지 지하철을 타고 가는 동안 Clean Code 책을 읽었다. 왕복 3시간쯤 걸려서 앉아 책 읽을 시간이 많아서 좋았다. Navigation Controller를 이용해서 class를 만들지 않고 화면을 구상하는 방법을 계속 고민 중인데 해결방법을 못 찾겠다 ㅠㅠㅠㅠ class를 만들지 않았으니 ChildViewController에 Label.text에 접근할 방법이 없다고 생각해서 그럼 toNav버튼을 누르면 아래에 만들어둔 TempViewController가 대신 pop 되도록 해볼까?? 생각을 하고 구현을 시도해보는데 변화가 없..
-
201024 - TILTIL/2021 2020. 10. 25. 02:19
Swift 문법 오늘은 extension과 protocol에 대해서 공부했다. extension으로 확장이 가능한 것들은? extension에서는 override는 금지! property는 computed property만 method는 instance와 type method 다 가능! initializer는 class를 확장하는 경우 convenience init만 가능! 상속을 지원, 다중 상속도 가능! Member들에 따른 protocol 선언 방법 protocol type protocol composition optional requirements protocol extension 기본으로 제공하는 Equtable, Hashable, Comparable 이해는 모두 갔다! 하지만 디테일을 기억해야..
-
201022 - TILTIL/2021 2020. 10. 23. 03:59
Swift 문법 오늘 Swift도 복습!! Subscript DynamicMemberLookup Inheritance Overriding Overloading Typecasting Upcasting, Downcasting Designated Initializer Convenience Initializer Initializer Delegation Failable Initializer Deinitialzer 복습을 하면서 까먹거나 기억을 못 했던 부분은 let str = "String" , String도 구조체이므로 이것도 인스턴스를 생성하는 것이다! 상속이 필요한 이유? final 이 필요한 이유? Init Delegation의 3가지 규칙 구조체에는 convenience를 사용하지 않는다. Init은 중..
-
201021 - TILTIL/2021 2020. 10. 22. 02:51
Swift 문법 오늘도 복습의 날!! 오늘 복습한 것들이다. Dictionary Set Enumeration RawValue Struct Class Property Instance Method 이렇게 복습을 했는데 복습을 하면서 기억해야 할 만한 부분은 다음과 같다! 할당 연산자를 이용한 코드는 리턴형이 없다!! RawValue를 사용하는 이유 Copy on Write Optimization이란? Instance Method 선언에서 다른 instance method를 호출할 수 있다. Dynamic Member Lookup Type Property는 선언과 동시에 초기화돼야 한다. Factory Method 선언하는 방법 CS 컴퓨터가 정수와 실수를 어떻게 표현하는지에 대해서 공부했다. 정수를 표현하는..
-
201020 - TILTIL/2021 2020. 10. 21. 02:01
Swift 문법 오늘은 Property에 대해서 복습을 했다. 애매하게 알고 있던 computed property에 대해서 공부했고 self 속성과 Self 타입에 대해서도 다시 복습을 했다. 이전에 fomat을 공부하면서 extension을 이용하여 string interpolation을 확장시켰던 코드도 다시 보았다. import UIKit let doubleNum = 12.345678 let formatNum = String(format: "%.3f", doubleNum) print(formatNum) extension String.StringInterpolation { mutating func appendInterpolation(_ value: Double, _ num: Int) { let str..
-
201019 - TILTIL/2021 2020. 10. 20. 02:17
Swift 문법 저번에 부족하다고 느꼈던 String과 Collection의 속성과 메서드 들에 대해서 복습을 했다. 주의해서 기억해야 할 것들은 popLast()와 dropLast(), removeLast()의 차이 SubString과 ArraySlice 형식 filter() 메서드 왜 String은 0-based index가 아니라 String.index를 사용할까? 문자열 좌우의 공백은 trimmingCharacters(in:) 메서드 문자열 사이의 공백은 replacingOccurrences(of:with:) 메서드 forEach 메서드의 사용 KeyValuePairs ( 이건 사용할 일이 없어보이지만 기억은 해두자) Sequnce와 Collection에서 공부했는데 레퍼런스를 확인했지만 이해가 ..
-
201018 - TILTIL/2021 2020. 10. 18. 23:39
주말 알바를 그만뒀지만 이번 주는 친형 결혼식이 있어서 바쁜 주말이었다! 공부는 하지 못했고 한 달 전에 만들어 보았던 계산기를 있는 그대로 만들어보며 느낀 점을 말해보려 한다. 처음 만들어 본 날이 9월 8일이었는데 그때 당시에 내가 이해하고 있던 부분은 계산 함수를 구현하는 정도에 그쳤다. (사실 함수가 아니라 메서드인데 그때는 둘의 차이도 구분하지 못했다. //사칙연산 메서드 func calcArithmetic(a: Double, op: String, b: Double) -> Double { var result: Double = 0 switch op { case "+": result = a + b case "-": result = a - b case "*": result = a * b case "/..
-
201016 - TILTIL/2021 2020. 10. 17. 00:37
오늘은 Optional, Function, Closure에 대해서 복습을 했다. 오늘 복습하며 느낀 것은 개념을 다 알지만 String과 Array의 Method 활용법이 바로바로 떠오르지 않는다는 것이었다. 예를 들어 문자열의 단어들을 배열로 나누는 법 let string = "Hi my name is BeePeach" string.components(separatedBy: " ") 그리고 거꾸로 배열을 문자열로 연결하는 법 let string = "Hi my name is BeePeach" string.components(separatedBy: " ").joined(separator: "#") 이런 게 떠오르지 않았다ㅠㅠ 분명 공부했던 건데.... 문제점을 알았으니 다시 복습하면 된다! String과..