본문 바로가기
728x90
반응형

closure6

PlayGround) 참조값으로 받을 수 있는 함수와 클로저의 놀라운 기능! 안녕하세요 후르륵짭짭입니다. 오늘 클로저의 새로운 기능을 배웠습니다. 클로저는 진짜로 기능이 몇개인지 모르겠습니다 ㅎㅎㅎ ** 참조값으로 받을 수 있는 Closure ** 클로저도 하나의 함수이니, 함수의 기능이라고 보셔도 됩니다. 이 기능을 알아보고 전에,,, 우리가 알면 좋은 것이 있습니다. 바로 변수의 기능인데요. let number = 10 만약에 우리가 위와 같이 코드를 적었다면 number에 10의 값이 들어 간 겁니다. 그리고 이 number에 주소값이 생성이 됩니다. (예를들어 0x00001 이라고 합시다.) 이렇게 0x00001에 number가 생성 됐기 때문에 어디서든 이 number라는 숫자를 사용 할 수 있습니다. 이 내용을 이해 했다면 이제 제가 설명 하는 것도 이해가 될 겁니다... 2021. 1. 14.
PlayGround ) Closure의 기능은 무엇인가? 안녕하세요! 후르륵짭짭 입니다. 이번에는 Closure에 대한 저의 착오를 말씀 드릴려고 합니다. 전 Closure를 값을 받아 수행하는 함수라고 생각했습니다. 그러니깐 함수 내부에서 클로저를 수행한다고 하면, 아래의 순서대로 작동하는 줄 알았습니다. func mistake(closure : () -> ()){ //(1) closure() } mistake { //(2) print("Hello world") } 그래서 closure()를 수행하면 trailing Closure 부분인 print("Hello world")를 수행하는 줄 알았습니다. 하지만 완전 반대 였습니다. func mistake(closure : () -> ()){ //(2) closure() } mistake { //(1) print.. 2020. 12. 8.
PlayGround) Auto Reference Counting(ARC) 에 대해 알아보자!!! 안녕하세요 후르륵짭짭이 입니다. ARC에 대해서 배우고 이를 잘 다루는 방법에 대해서 배우도록 하겠습니다. ** ARC란? ** Swift는 ARC (Automatic Reference Counting)을 통해서 메모리 사용량을 추적하고 관리 합니다. 따라서 클래스의 인스턴스가 더 이상 필요하지 않다고 판단하면 자동으로 해당 인스턴스의 메모리를 해제 해줍니다. 그래서 그냥 놔두면 아주 스스로 잘 해주지만,,,, 예외 케이스가 있습니다. (참고로 레퍼런스 카운팅은 오직 클래스의 인스턴스에만 적용됩니다. 구조체와 ENUM은 값 타입이기 때문에 참조reference가 저장되거나 전달되는 일이 없습니다!) ** 예외 케이스 - 객체 인스턴스 참조 ** class ParentCalss { var classCone.. 2020. 8. 24.
PlayGround) Closure 에 대해 알아보자 4부 (Enum&Gernics) 안녕하세요 후르륵짭짭 입니다. 이번에는 Result 타입을 직접 구현 해보려 합니다. 1부 부터 3부 까지 Closure에 대해서 알아 봤고 Enum과 Gernics에 대해서 글을 쓴 적이 있습니다. 따라서 이것에 관련해서 API 통신 할 때 오류를 다루는 Result타입을 직접 만들어 보려 합니다. 그럼 시작 하겠습니다. ** 기본적인 셋팅 ** enum APIError : String{ case wifiError = "와이파이 에러" case httpError = "통신 에러" case justError = "그냥 에러 " } enum APIResult { case success(SuccessType) case failure(APIError) func PrintCase() -> Any { switch.. 2020. 8. 5.
728x90
반응형