본문 바로가기

iOS14

delegate가 weak, optional타입을 가지는 이유 정처 없이 delegate에 대해 알고싶어서 'cmd + 클릭'로 정의되어 있는 코드들을 탐색하다.. 문득! 어.. 근데 왜 delegate가 'weak'에 타입은 옵셔널(?)이지..? 라는 생각이 들어 잘성하는 글이다ㅎㅎ vc.delegate = self vc의 delegate를 현재의 ViewController에서 구현하고 싶어 선언해주려 할때, 위의 코드처럼 무의식적으로 작성하는 과거의 나를 떠올리며, 왜 그동안 수긍했나 라는 생각이 든다ㅎㅎ 우선 "왜 옵셔널인가?"에 대한 답은 delegate가 채택이 안된상태로 존재할 수 있기 때문이다. delegate가 있지만, 선언을 해 구현할 필요가 없을 경우가 있고, delegate가 선언되어 있었지만, 구현을 맡고있던 객체를 빼내어 nil값을 갖게 되는.. 2022. 8. 30.
변수앞에 static이랑 class가 붙었는데요?(static 변수, class 변수) class Person { static let name: String = "Park" var age: Int class func job() { print("My job is ...") } } (Person 클래스의 변수들이 모두 초기화값을 가지고 있지 않으므로, init()이 반드시 필요한 코드지만, 설명을 위한 간략한 코드로 넘어가자!) 위와같은 코드는 아~~~주 흔하게 class를 만들거나 struct를 만들때와는 아주 조금 모양이 다르게 생겼다. 보통이라면, (여기서 말하는 보통이란, static, class가 변수 앞에 안붙은 아주 plain 한 상태의 class혹은 struct를 말한다.) Person의 age변수처럼 var age: Int 로 표현되지만, 위의 경우에는 static 과 clas.. 2022. 8. 27.
CocoaPod 사용하기 CocoaPod 설치 방법 저는 m1칩을 사용하는 맥북이기때문에, cocoapod init이 가능하지 않았습니다.. 따라서 application에 들어가 터미널 정보가져오기 를 사용해, Rosetta로 열기를 클릭해주면 위의 문제가 해결 됩니다. CocoaPod 프로젝트에 넣기 프로젝트 디렉토리로 이동후 $ pod init 원하는 Third-Party Pod install 하기 PodFile을 열어 설치하고 싶은 pod 명령어를 넣어줌 $ pod 'CLTypingLabel' // CLTypingLabel을 이용하고 싶을 때 PodFile 저장 후 terminal에서 install $ pod install 예전 버전의 pod이 install 되었을시, NSString 과 비슷한 예전 버전이 install .. 2022. 8. 8.
Collection이 뭔가요?(Array, Dictionary, Set) Collection이란, 영어를 그대로 한국어로 번역한다면, '모아둔 것' 이라고 볼 수 있습니다. 그럼 아마 Collection이란 모아둔 어떤 것에 대한 이야기일 겁니다! 그리고 그 Collection은 Array, Dictionary, Set..등등의 모습으로 swift에서 존재합니다. 사실, Swift를 공부하는 사람들의 경우에는 대부분이 이미 다른 언어를 첫번째 언어로 공부하고 시작하는 비율이 많을 것 같기 때문에, Collection이라 불리는 Array, Dictionary, Set에 대해서 어느 정도 알고 있을 것입니다. 그러면..! 저는 내 머리 속의 정보들을 정리하기 위해서 글을 작성해 보겠습니다! 1. Array 말 그대로 배열입니다. var array1:[Int] = [] var a.. 2022. 5. 19.