목록Swift (89)
BOID
안녕하세요 HoonIOS입니다. :) 이번에는 뷰 컨트롤러들 사이에 값을 주고받는 방식인 직접 전달하는 방식, 간접 전달하는 방식에 대해 포스팅을 해보겠습니다. 뷰 컨트롤러들 사이에 값을 주고받는 방식은 두 가지 개념으로 나누어집니다. 뷰 컨트롤러에서 다음 뷰컨트롤러로 값을 직접 전달하는 방식( 직접 전달 방식 ) 공통 저장소(DB, 코어 데이터)를 만들어 뷰 컨트롤러에서 공통 저장소로 값을 저장하고 화면을 이동하면 다음 뷰 컨트롤러에서 이 저장소를 열어서 값을 꺼내오는 방식입니다. 직접 전달하는 방식(동기 방식) - 이 방식은 예를 들어 테이블 뷰에서 셀을 선택하면 상세 페이지로 넘어가 세부 데이터를 보여주는 방식을 사용할때 많이용을 합니다. - 저장이 아니라 값을 전달하는거라 정보를 오래 저장할 필요..
안녕하세요 HoonIOS입니다 :) 저번 ARC에 대한 포스팅을 할때는 인스턴스끼리의 강한참조를 했는데요, 이번에는 클로저의 값 획득 특성 때문에 발생하는 클로저의 강한 참조, 강한참조의 순환에 대해 알아보겠습니다. 클로저의 강한참조란? - 클로저의 강한참조는 클로저가 인스턴스의 프로퍼티일 때나, 클로저의 값 획득 특성 때문에 발생을 합니다. * 예를들어 - 클로저 내부에서 인스턴스의 프로퍼티에 접근할 때나 클로저 내부에서 인스턴스의 메소드를 호출할때 값 획득이 발생할수 있는데 이 경우 모두 클로저가 self를 통해 획득하므로 강한 참조 순환이 발생을 합니다. - 클로저의 강한참조 순환의 문제가 발생하는 예시를 살펴보겠습니다. - 결과부터 설명을 하자면 Person 클래스의 인스턴스를 선언해준 Lee 프..
안녕하세요 HoonIOS입니다. :) 저번에는 ARC의 참조 종류와 참조 누수를 방지하기 위한 약한 참조, 미소유 참조, 옵셔널 참조에 대해 알아보았습니다. https://boidevelop.tistory.com/30 [swift] 강한참조, 강한참조 순환, 약한참조, 미소유참조- HoonIOS 안녕하세요 HoonIOS입니다. :) 저번 시간에는 ARC의 개념에 대해 간단히 포스팅했습니다. 이번에는 ARC의 참조 관계의 종류에 대해 포스팅을 하겠습니다. ARC와 강한참조의 관계 - 강한참조란 인스턴 boidevelop.tistory.com 이번에는 미소유 옵셔널 참조, 미소유 참조와 암시적 추출 옵셔널 프로퍼티의 관계에 대해 알아보겠습니다. 미소유 옵셔널 참조 - 클래스를 참조하는 옵셔널을 미소유로 표기..
안녕하세요 HoonIOS입니다. :) 저번 시간에는 ARC의 개념에 대해 간단히 포스팅했습니다. 이번에는 ARC의 참조 관계의 종류에 대해 포스팅을 하겠습니다. ARC와 강한참조의 관계 - 강한참조란 인스턴스가 계속해서 메모리에 남아있어야 하는 명분을 만들어주는 것입니다 * 강한 참조의 특징 인스턴스의 메모리참조가 0이 되면 메모리가 해체되는데, 인스턴스를 다른 인스턴스의 변수, 상수등에 할당할 때마다 강한 참조가 사용되 참조횟수가 1이 증가하고, 강한참조를 사용하고 있는 변수, 상수에 nil값을 주면 인스턴스의 참조횟수가 1이 감소합니다. - 아래 예시는 인스턴스를 처음 변수에 넣어 메모리에 생성 후 hoon2, hoon3에 할당해주는 것입니다. - 왼쪽의 예시는 혹시 hoon1에만 이니셜 라이저로 인..
안녕하세요, HoonIOS입니다 :) 이번에는 ARC에 대해 포스팅을 하려고 합니다 ARC란? - 애플 문서에 ARC는 스위프트에서 앱의 사용하는 메모리를 추적하고 관리할 때 사용하는 것이라고 적혀있습니다. - Automatic Reference Counting의 약자를 따 ARC라고 불리는 이것은 해석 그대로 자동으로 참조관계를 카운팅 하는 것입니다. - 스위프트 프로그래밍의 메모리 사용을 관리하기 위하여 사용하는 메모리 관리기법입니다. - 참조 관계를 계산하는 방법으로 참조 타입인 클래스에서만 적용이 됩니다, 열거형 구조체는 값 타입이므로 ARC로 관리를 할 필요가 없습니다. - ARC의 방식은 더 이상 필요하지 않은 클래스의 인스턴스를 메모리에서 해제하는 방식으로 동작을 합니다. - ARC는 인스턴..
안녕하세요 HoonIOS입니다. :) 지금까지 세그웨이를 통한 화면 전환에 대해 알아봤는데요, 세그웨이를 이용하면 화면을 전환하는 과정 전에 특정한 메소드를 호출하도록 설계가 되어있는데 이것을 이용하면 화면을 전환하기 전에 필요한 처리를 해줄 수 있습니다. 이렇게 화면을 전환하기 전에 호출하는 특정한 메소드를 전처리 메소드라고 합니다. 전처리 메소드 실행 - 전처리 메소드는 세그웨이가 실행하기 전에 값을 저장해둘 필요가 있거나, 경고창을 띄어주는 등의 처리를 해야 하는 경우 전처리 메소드에 해당 내용을 작성해 놓으면 세그웨이가 실행 전에 자동으로 실행이 먼저 됩니다. - 이 메소드는 다른 메소드와 같이 따로 우리가 직접 호출하는 것이 아니라 구현을 해놓으면 시스템이 알아서 호출을 하는 것입니다. 형식 p..
안녕하세요 HoonIOS입니다. :) 이번에는 커스텀 세그웨이에 대해 알아보겠습니다. 우선 커스텀이란 무슨 말일까요? - 형용사로 쓰이면 주문제작이라는 뜻으로 쓰입니다. - 세그웨이에서 UIStoryboardSegue 클래스를 서브 클래싱 해서 새로운 기능을 갖춘 세그웨이 객체를 정의할 수 있도록 지원하는 것을 커스텀 세그웨이라고 합니다. 커스텀 세그웨이 만들어 보기 - 제일 먼저 커스텀 세그웨이를 작성하기 위해서 UIStoryboardSegue 클래스를 상속받는 클래스를 작성해줘야 합니다. 여기서는 customSegue 클래스로 작성을 하겠습니다. - UIStoryboardSegue클래스에서 세그웨이의 실행을 처리하는 메소드는 perform( )이므로 커스텀 세그웨이를 작성하기 위해서는 perform(..
안녕하세요 HoonIOS입니다 :) 저번 시간에는 스토리보드로 화면 전환인 매뉴얼 세그웨이, 액션 세그웨이에 대해 알아봤는데요. 이번에는 화면 복귀인 Unwid에 대해 알아보겠습니다. Unwind 화면 복귀 화면을 복귀하는 방법은 크게 두 가지가 있습니다. present(_:animated:)에는 dismiss를 pushViewController(:animated:)에는 popViewController인 화면 복귀용 메서드를 사용하여 Unwind처리를 해주는 것입니다. 세그웨이릍 통해 화면 이동을 한 경우에는 Unwind Segue를 이용하는 것입니다, 이따가 자세하게 설명해 드릴 텐데요 도크바 아이콘 중 세 번째 아이콘은 Exit라고 하는데 이것이 현재 화면을 종료하고 이전 화면으로 되돌아가는 Unwi..