본문 바로가기

Swfit106

URLComponents URLComponents를 사용하면 간편하게 URL 요소들을 다룰 수 있습니다. 물론 URLComponents를 사용하지 않고도 아래처럼 URL을 만들 수는 있습니다. private func buildURL(post: String, id: String) -> URL? { return URL(string: "https://ittingz.tistory.com/?post=\(post)&id=\(id)") } 하지만 query item의 종류가 많아질 수록 일일이 string interpolator 형태로 작성하기도 번거롭고 오타가 나면 발견하기 어려울 수 있습니다. URLComponents를 사용하면 어떻게 될 지 한 번 볼까요? private func useURLComponents(post: String, .. 2022. 11. 11.
Cannot find AF in scope - Alamofire 관련 에러 Cocoapods를 사용해서 Alamofire를 install 했지만, XCode에서 AF를 사용하려고 할 때 아래와 같은 에러가 발생했습니다. Cannot find AF in scope 다행히 StackOverFlow에서 제안한 방법이 해결에 도움을 주었습니다. XCode에서 Product -> Scheme -> Manage Schemes 으로 들어간 다음, Alamofire 항목을 true로 바꾸어 주니 해결되었습니다. 자세한 내용이나 해당 에러의 다른 해결법은 아래 링크를 참고하시면 됩니다! https://stackoverflow.com/questions/37385275/xcode-cant-find-alamofire-error-no-such-module-alamofire Xcode can't fin.. 2022. 11. 10.
Notification & Observer Objects 간 소통하는 방식에 몇 가지 방식이 있는데, 그 중 하나가 Notification과 Observer입니다. Notification과 Observer는 1 : N 관계에서 주로 사용하는 방식입니다. 하나의 객체가 신호를 보내고, 그 객체의 신호를 대기 하고 있던 다른 객체들이 신호를 듣고(listen) 일종의 액션을 취하게 됩니다. 보내는 신호를 "notification" 이라고하며, 신호를 보내는 행위를 "post" 또는 "publish" 라고 합니다. 신호를 받는 객체들은 "observers"라고 하고, 신호를 받는 행위를 "subscribe"라고 합니다. 애플 문서에는 Notification이 어떻게 기술되어 있는지 확인해보겠습니다. "Notification center를 통해서 obs.. 2022. 11. 5.
Protocol extension Protocol은 interface처럼 body가 없는 function이나 값이 정해지지 않은 property들만 정의될 수 있다고 알고 있었습니다. 그렇지만 extension을 사용하면 값이 정의된 property와 body가 구현된 function 역시 작성이 가능하다는 것을 알게되었습니다. 이러한 형태를 protocol extension이라고 합니다. Protocol extension을 사용하면, protocol과 extension의 한계를 적절히 보완할 수 있습니다. Protocol은 필수적으로 구현되야 할 method를 정의하여 코드 중복을 피할 수 있다는 장점이 있지만 body를 정의할 수 없다는 한계가 있습니다. Extension에서는 method의 body를 정의할 수는 있지만 코드 중복과.. 2022. 11. 2.
frame .zero로 설정하는 이유? YT 강의를 보다보면, 간혹 UIView를 선언할 때 frame을 .zero로 설정하는 경우를 보았습니다. 이후에 layout을 그려주기 위한 function을 하단에 정의하고 viewDidLayoutSubviews() function에 해당 layout 함수를 호출해주는 방식으로 코드를 작성하더라구요. 애초에 선언할 때 frame을 정의하면 되지 않는가 라는 생각이 들었는데, 이유가 있을 것 같아서 한 번 구글링을 해보았습니다. 정확한 답변인지는 아리송하지만, 대략적인 이유에 대해서는 알게된 것 같아서 글로 남겨보려고 합니다. 먼저 제가 궁금했던 부분이 어떤 것인지 정확히 얘기해보자면, 아래처럼 UIView를 상속하는 property들은 대개 frame을 argument로 받는 initializer가 .. 2022. 10. 31.
Method(메서드)란? Java에서는 method라는 표현만 주로 사용하는 것 같았는데, Swift에서는 function(함수)과 method(메서드)를 섞어쓰기는 해도 이 둘에 차이가 있다는 것을 알게 되었습니다. Function과 method의 가장 큰 차이는 Class, Structure, Enumeration에 속하지 않거나 속하거나 입니다. 이번에는 이 둘 중에 method에 대해서 알아보겠습니다. 공식문서에 나온 설명을 참고하면, method는 특정 타입에 관련된 함수라고 합니다. 그리고 Method에는 크게 instance method와 type method가 있습니다. 특정 타입과 관련된 "function(함수)"라고 문서에도 나와있듯이, method는 function의 일종인 것입니다! Instance meth.. 2022. 10. 25.
반응형