안녕하세요. 린다입니다. 오늘은 면접때 탈탈 털리고 온 ARC를 톺아봅시다.. ARC란.. Auto Reference Counting Swift는 RC로 메모리를 관리함 == Reference Count로 관리한다는 의미 메모리의 참조횟수를 계산하여, 참조 횟수가 0이되면 더이상 사용하지 않는 메모리라 생각하여 해제함 즉, 모든 인스턴스는 자신의 RC 값을 가지고 있음 (인스턴스 생성 시 힙에 같이 저장됨) 이런 ARC 카운팅을 확인할 수 있는 방법이 있는데 바로 CFGetRetainCount 임 → “Core Foundation 객체”의 참조 횟수를 반환함 https://developer.apple.com/documentation/corefoundation/1521288-cfgetretaincount ..
안녕하세요. 린다입니다. 예전에 정리했던 뷰의 생명주기에 대해서 더 자세하게 정리해보았어요. navigationController를 사용해서 완전히 push로 이동하는 경우와 present를 사용하여 모달로 이동하는 경우로 나누어서 정리했습니다. 구현상황) FirstViewController → 버튼 tapped → SecondViewController + navigationController를 사용하여 완전히 push로 이동하는 경우 출력 결과 🔥 FirstViewController viewDidLoad 🔥 FirstViewController viewWillAppear 🔥 FirstViewController viewDidAppear button Tapped!! 🍀 SecondViewController..
안녕하세요. 린다입니다. 저번 (https://sy-catbutler.tistory.com/51) 글에 이어서 마저 정리해볼게요!! 근데 제가 이미 최적화를 정리해놓았거든요^__^ .... [Swift 기초문법] Closure 를 알아보자 이 게시물보다 더 자세하고 이전 글 예제와 동일하게 다시 적어볼게요. 후행클로저와 문법 최적화 먼저 후행 클로저가 무엇이냐면.. 함수에 대한 마지막 매개변수가 클로저인 경우에는 후행클로저라는 특수한 구문을 사용할 수 있습니다! “구문” 이니까요. 예제를 봐야 이해가 빨라요. 저번 글에서 했던 예제로 계속 해볼게요 func doSomething(_ name: (String) -> (Bool)) { name("린다") print("doSomething 내부") } doSo..
안녕하세요. 린다입니다. 최근에 하나 과제를 진행하면서 클로저에 대한 이해를... 정말 확실히 하고 싹 정리를 해야겠다고 다짐해서 공부하고 정리하는 글이에요! 사실 다 이해한 줄 알았는데 알고보니 외워서 쓰는 꼴이더라.. 싶어서 정리하러 왔습니다. 제가 우선 헷갈렸던 함수는 함수타입을 파라미터로 갖는 함수, @escaping이 헷갈렸는데요. 이부분을 집중적으로 정리했습니다! 클로저, 함수, 파라미터, 아규먼트 헷갈린다.. 싶으시다면 참고가 되면 좋겠어요!!! 그럼 예시로 시작해볼게요 func doSomething(_ name: () -> ()) { name() } 여기서 " : " 뒤에 있는 것이 뭐다? Type 입니다. 지금 " : " 뒤에는 () → () 가 있음 즉, doSomething 함수의 파..
동기 비동기에 많이 나오는 에러 핸들링! 처음 봤을 때 멘붕 왔던 에러 핸들링..! 말이 너무 비슷비슷해서 헷갈리는 에러 핸들링에 대한 정리를 블로그에도 올려봅니다.. 에러 핸들링은 말 그대로 에러를 다루는 거겠죠? Error Handling 에러 핸들링(처리)의 순서가 있어요! 제가 보기에는.. 내가 만든 함수에서(?) 발생할 수 있는 에러 형식 선언 (enum을 통해서 정의) 에러 정의(선언한 에러가 어떤 경우에 발생하는 에러인지 정의) 에러 발생시 어떻게 할 것인지 정의 그러면 정말로.. 이게 뭔데? 싶으니까 에러를 던지고 받고를 해봅시다. 그럼 어떻게 던지는데? 넹.. throw(s)를 통해서 던집니다. Error Throw(s) throw : 에러를 던지는 키워드(에러가 발생했을 때만 호출됨!!..
SwiftUI는 데이터 주도 방식으로 개발하고 게시자/구독자를 구축해서 데이터를 주고 받죵 4가지의 객체로 사용자 인터페이스의 모양과 동작을 결정하는 상태를 제공하는데 여개서 4가지가 @State, @Binding, @environmnet, @Observable 이렇게 있습니다. 그중에서 오늘은 묵혀놓았던 @State, @Binding에 대해 빠르고 간단하게 정리해볼게요. @Obersvable이랑 @Environmnet는 다음 게시물로... !! 1. @state ( = 상태 프로퍼티) 값의 변화를 감지해서 값이 변하면 뷰를 다시 그려주는 프로터티 입니당(뷰에 적용시켜줌) 상태프로퍼티는 상태에 대한 가장 기본적인 형태이며, 현태 뷰의 상태를 저장하기 위해서만 사용해요! 토글 버튼 활성화 유무 텍스트 필드..