swift82 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. UIImageView - clipsToBounds 설정 사진으로 차이 알아보기! UIImage를 설정할 때 clipsToBounds 설정도 꼭 기억하고 있어야 합니다. clipsToBounds를 별도로 true로 설정하지 않는 이상 false로 설정한 것과 같습니다. false일 때와 true일 때 어떠한 차이가 있는지 간단하게 알아보겠습니다. clipsToBounds 설정 전 설정 전에는 동일한 UIImageView에 들어간 UIImage임에도 이미지뷰의 사이지가 제각각인 것처럼 보입니다. 사진의 비율에 따라서 이미지뷰 사이즈가 달라진 것은 아닌지 화면 구조로 확인해보았습니다. 하단의 사진의 우측이 제가 설정해 둔 UIImageView의 사이즈입니다. 이미지뷰 사이즈가 달라진 것은 아니고, 그냥 이미지가 이미지뷰를 넘어서까지 나온 것임을 확인할 수 있었습니다. 이렇게 이미지가 이미.. 2022. 10. 21. XCode 단축키 모음 1. 좌측 패널(navigator) show & hide : command + 0 Navigator에 보면 폴더 아이콘, 돋보기 아이콘, 스프레이 같이 생긴 아이콘 등 여러 메뉴가 있고 각 메뉴마다 단축키로 접근이 가능합니다. 제일 좌측 메뉴는 command + 1, 그 다음은 command + 2 이렇게 순서대로 command + 번호로 접근이 가능합니다. 2. Console(debug area) show & hide : command + Shift + y 2022. 10. 21. Closure를 사용한 UI element 생성하기 Swift 문법에서는 closure가 빠지지 않고 등장합니다. Function의 parameter로도 사용되고, return type으로도 사용이 됩니다. 그런 closure가 UI element를 생성하는데에도 사용이 될 수 있습니다. 이 주제는 얼마 전 Swift 개발자로서 면접을 보았을 때 질문을 받았던 내용인데, 당시에는 이 부분에 대해 잘 알지 못해서 제대로 답변을 하지 못했습니다. 하지만 해당 사항을 물어보셨다는 것은 중요한 부분일 것이라고 생각되어 바로 알아보았습니다. 먼저 closure를 이용해서 UI element를 만드는 방법은 아래 코드와 같습니다. private let myImageView: UIImageView = { // {} 중괄호 부분이 closure입니다. let image.. 2022. 10. 19. 이전 1 ··· 6 7 8 9 10 11 12 ··· 14 다음 반응형