WooKoo Blog

물과 같이

swift 59

iOS - Target - Action 디자인 패턴

Target - Action 디자인패턴 Target - Action은 객체에 이벤트가 발생했을 때 다른 객체에 메세지를 보내는데 필요한 정보를 포함한다. 액션은 특정 이벤트가 발생할 때 호출되는 메소드를 의미한다. 타깃은 프레임워크 객체를 포함한 모든 객체가 될 수 있으나 보통은 컨트롤러가 되는경우가 일반적이다. EX) Button이 눌렀을 때(액션) 이를 호출할 ViewController객체(타깃)이 된다. 액션메서드 액션 메서드의 양식은 다들 아실거라고 생각이 됩니다. 보통 이런식의 인터페이스 빌더를 사용하지오? @IBAction func actionMethod(_ sender: Any) { } self.datePicker.addTarget(self, action: #selector(self.didD..

개발/개발 2020.09.15

[iOS] - 화면 탭 후 좌표 얻기와 그 자리에 도형 그리기

다양한 방법이 많겠지만 Tap Gesture Recognizer를 사용해서 해보겠다. 먼저 스토리보드에 Tap Gesture Recognizer를 추가해주고 액션을 ViewController에 추가해준다. 그 후 handleFrontTap() 메소드를 작성해주자. func handleFrontTap(gestureRecognizer: UITapGestureRecognizer){ if gestureRecognizer.state == UIGestureRecognizer.State.recognized { let location = gestureRecognizer.location(in: gestureRecognizer.view) print(gestureRecognizer.location(in: gestureRec..

개발/개발 2020.09.14

iOS - 공식 문서만으로 iOS 개발 배우기[Sungdoo님]

오늘은 따듯한 피드백을 주신 성두님께 감사드리단 말씀을 드리며 sungdoo님이 주신 글을 한번 읽고 정리해보도록 하겠습니다. sungdoo.dev/programming/start-ios-development-with-offical-docs/ 공식문서 만으로 iOS 개발 배우기 - Dev Story of Sungdoo iOS개발에 처음 발을 내딛은 분들에게는, 당장 "어디서 어떻게 배워야 하는지"만큼 시급하고도 중요한 질문이 없습니다. 좋은 유튜브 강좌나 블로그 튜토리얼 등을 보면 될까요? 하지만 그 유튜�� sungdoo.dev 처음은 Swift를 배워야겠죠? docs.swift.org/swift-book/GuidedTour/GuidedTour.html 가이드에 대한 플레이그라운드도 지원을 해주네요(다..

개발/개발 2020.09.14

iOS - Dispatch Queues[Zedd님]

오늘은 왜 UI 작업이 나타날 때는 main 쓰레드에서 처리를 해야만 하는가에 대해서 찾아보다가 또 Zedd님 글을 발견하고 읽어보면서 정리를 해볼까 합니다. 항상 감사합니다 zeddios.tistory.com/513 iOS ) Concurrency Programming Guide - Dispatch Queues 안녕하세요 :) Zedd입니다. 오늘은 Concurrency Programming Guide의 Dispatch Queues부분을 해볼게요!! 드디어 익숙한게 나왔........거의 모두들 GCD를 쓰실텐데..... Dispatch Queues Grand Central Dispatch.. zeddios.tistory.com Grand Central Dispatch(GCD) 는 task 수행을 위한..

개발/개발 2020.09.11

[SwiftUI] - SF Symbols 아이콘

SF Symbols은 내장된 아이콘으로서 약 1500개 가량의 아이콘을 지원해주고 크기 및 색을 변경 할 수 있다. 설치해서 사용하는 것입니다. SF Symbols 공식 문서 https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/ SF Symbols - SF Symbols - Human Interface Guidelines - Apple Developer SF Symbols SF Symbols provides a set of over 2,400 consistent, highly configurable symbols you can use in your app. Apple designed SF Symbols to i..

개발/개발 2020.09.06

Swift - 저장 프로퍼티(Stored Properties)

저장 프로퍼티(Stored Properties) 지연 저장 프로퍼티(Lazy Stroed Properties) 연산 프로퍼티(Computed Properties) 프로퍼티 감시자(Property Observers) 타입 프로퍼티(Type Properties) 프로퍼티의 종류에는 위와 같이 5가지가 있다. 프로퍼티는 클래스, 구조체, 열거형과 연관된 값입니다. 타입과 관련된 값을 저장할 수도, 연산할 수도 있습니다. (변수, 메소드 등) 이번 포스트에서는 저장 프로퍼티에 대해 알아볼 것 이다. 저장 프로퍼티(Stored Properties) // // main.swift // Stored Property // // Created by 1 on 2020/08/21. // Copyright © 2020 woo..

개발/개발 2020.08.21

Swift - weak, unowned 차이

오늘은 강한 순환 참조가 발생했을 때 해결하기 위한 방법으로 weak, unowned를 사용하는 것을 알고 있었는데 weak?과 unowned의 차이에 대해 좀 더 자세하게 알아보려고한다. 평소에 weak은 nil을 반환하고 unowned는 정말 확실할 때 사용하는데 앱이 크래쉬나서 사용을 안하는걸 추천하는걸로 알고 있었지만 존재하는 이유가 있을 것 아닌가!? 그래서 한번 정리해보려고한다. weak 약한 참조! - 참조하는 인스턴스를 약하게 유지하는 참조 다른 인턴스의 생명주기가 짧을 때 사용 다들 아시다시피 nil값으로 변경 될 수 있기때문에 옵셔널 타입의 변수로 선언되어야함!! Unowned 미소유 참조! - weak과 마찬가지로 약한 참조 미소유 참조는 다른 인스턴스와 같은 생명 주기를 가지거나 더..

개발/개발 2020.08.20

Swift - 프로토콜 프로그래밍을 지향하는 이유

스위프트는 프로토콜 지향 프로그래밍이라고한다. 왜 프로토콜을 지향하는지 알아보자. 클래스의 경우 참조타입으로 참조 추적에 대한 오버헤드가 많이 발생하게된다. 구조체의 경우에는 상속이 되지않아 확장하고 싶음에도 그럴 수 없다. 또한 다중 상속과 같이 원하는 기능을 각 구현 할 수 있으므로 프로토콜을 지향한다.

개발/개발 2020.08.11

iOS - UI를 Storyboard와 xib 그리고 Code의 장단점 비교 정리

오늘은 iOS의 UI를 구성하는데 있어서 대표적인 3가지 방법들의 장단점을 정리해보려고합니다. 자 그럼 시작해보겠습니다. (주관적인 정리이니 정답은 아닙니다!) Storyboard의 장점 - 구현하기가 쉽고, 빠르게 프로토타입을 만들 수 있다. - 네비게이션의 흐름을 쉽게 파악 할 수 있다. - Static Cell을 이용 할 수 있다. (storyboard에서만 이용 가능한 기능이라네요!) Storyboard의 단점 - 여러 사람이 작업 할 경우 merge 충돌이 일어날 수 있다. - 재사용을 하고자 할 때 뷰 컨트롤러 자체를 함께 복사해야함으로 재사용성이 낮다. xib의 장점 - storyboard에 비해 조금 더 구체적인 UI 구현이 가능하다. - merge 충돌이 storyboard에 비해 적다...

개발/개발 2020.08.09