본문 바로가기

iOS 앱 개발자 프로젝트/Swift 문법 정복하기

[Swift] HOF == My HOPE (High-order function) 내일은 채 튜터의 고함 세션이 있는 날! 질문은 살살 해 주세요! ( •͈ᴗ-)ᓂ-ෆ IBAction, 7r z or..!https://developer.apple.com/documentation/foundation/urlsession/1407613-datatask dataTask(with:completionHandler:) | Apple Developer DocumentationCreates a task that retrieves the contents of a URL based on the specified URL request object, and calls a handler upon completion.developer.apple.comlet numbers = [1,2,3,4,5] .. 더보기
[Swift] String interpolation 문자열 보간법 (String Interpolation)  C# 6.0의 등장      C# 6.0은 2015년에 출시된 C# 프로그래밍 언어의 주요 버전 업데이트로, 도입된 여러 기능 중 하나가 String Interpolation          C# 6.0 이전의 문자열 처리     이전에는 문자열 내에 변수나 표현식을 삽입을 위해 String.Format() 메서드를 사용했다.   문자열 보간법은 C# 6.0부터 도입된 기능으로, 문자열 내에 변수나 표현식을 삽입할 수 있게 해준다.→   서식 지정을 간편하게 하며, 가독성도 높일 수 있다.    📌  문자열 보간법의 장점가독성 향상: 기존의 String.Format() 메서드보다 더 간단하고 직관적인 문법을 사용할 수 있어 코드 가독성이 높다.편.. 더보기
[Swift] 객체 지향 프로그래밍 (Object-Oriented Programming) 관계란 무엇인가. 객체 지향이란 무엇인가. swift라는 객체 지향의 세계에서는 관계 맺기를 잘해야 코딩을 잘 할 수 있다고 합니다. 경험이 쌓일수록 이해도가 높아지겠지만, 일단은 현 수준에서 OOP에 대해 다시 정리해 봅니다. 객체란 무엇인가 메세지를 전달 받을 수 있는 대상, object. 푸바오에게 "일어나!"라고 한다면 푸바오를 객체라 할 수 있다. 말 그대로 대상을 나타내는 단어라고 생각해도 된다. 4월 3일 푸바오가 유학을 떠난 간 쓰촨성 선수핑 기지에는 나이도 출신도 다른 90여 마리의 판다들이 있는데 이들도 모두 객체가 될 수 있다. (부디 우리 푸바오가 여러 객체들과의 관계를 잘 맺으며 객체 지향적인 삶을 살기를.. ) 푸바오의 친구 판다들 모두 각자의 데이터, 타입(상태)와 메서드(행위.. 더보기
[Swift] Inheritance & Override (2) 상속(Inheritance)으로 물려받은 행동(method)을 수정할 수 있는 Override에 대하여 공부하고, Inheritance 핵심 개념을 복습합니다. Override에서 final 로 선언하면 자식 클래스가 Override하는 것을 막을 수 있다는 것도 익혀둡니다. Override 상속받은 상태와 행동을 수정할 수 있다. 즉, 자식 클래스는 부모 클래스로부터 상속 받은 property나 method를 그대로 사용하지 않고 자신만의 기능으로 변경하여 사용할 수 있다. 이를 재정의, Override 라 한다. override 키워드는 swift 컴파일러가 조상 클래스(부모 포함 상위 부모 클래스)에 해당 프로퍼티나 메서드 등이 있는지 확인한 후 재정의 하는데 만약 조상클래스에 해당 특성이 없다면,.. 더보기
[Swift] Closure, Higher Order Function (2) 2024년 4월 2일 화요일 3월에 공부했던 클로저와 고차함수를 제대로 이해하기 위해 연습하기 [Swift] Closure, Higher Order Function 1 복. 씁. 하. 기. Closure (클로저) 동작을 저장할 수 있다. 변수/상수에 저장할 수 있다. 파라미터로 전달할 수 있다. 함수에서 반환할 수 있다. 타입을 가진다 = Function Type 함수는 Closure의 한 종류(Named Closure) 이다. + Quiz / SayHello 함수의 Function Type은? func sayHello(name: String) { } (String) -> () (String) -> Void Higher Order Function (고차함수) "함수를 파라미터로 받는 함수" + 아래 a.. 더보기
[Swift] Struct vs. Class 2024년 3월 28일 목요일 두 개념을 다시 한 번 정리해 봅니다. 한 문장으로 정리한 차이점은, Class 참조타입이고 ARC로 메모리 관리를 한다. Struct 값 타입이다. [ 공통점 ] 함수적 기능을 하는 메서드를 선언할 수 있다. 값을 저장할 property를 선언할 수 있다. protocol을 채택하여 기능을 설정할 수 있다. extension을 사용하여 기능을 확장할 수 있다. 생성자를 사용해 초기 상태를 설정할 수 있다. 내부 값에 .을 사용하여 접근할 수 있다. [ Class ] 참조 타입이다. : ARC로 메모리를 관리한다. : 상속이 가능하다. 동일한 클래스 인스턴스를 여러 변수에 할당한 뒤 값을 변경하면 모든 변수에 영향을 준다. 타입 캐스팅을 통해 런타임에서 클래스 인스턴스 타입.. 더보기
[Swift] Closure, Higher Order Function 2024년 3월 16일 토요일 익명 함수 closurer와, 다른 함수를 인자로 받거나, 함수의 결과로 함수를 반환하는 고차함수(map, filter, reduce)를 공부해 봅니다. #1. Closure #2. Higher Order Function (고차함수) #1. Closure 이름없는 함수 즉, 코드 블록을 말한다. ('closure'라는 단어가 참 잘 어울린다.. ) 상수나 변수의 참조를 캡쳐(capture)해 저장할 수 있습니다 주변 환경에 있는 변수나 상수를 캡처하여 저장하고, 이를 나중에 사용할 수 있도록 하는데 이것은 클로저가 생성될 때 클로저가 참조하는 변수 또는 상수의 값에 대한 복사본을 유지하고 저장하는 메커니즘이다. 값(value) 캡처: 클로저가 변수나 상수의 값을 캡처한다... 더보기
[Swift] Escaping closure 2024년 3월 15일 금요일 탈출 클로저(Escaping closure)를 활용해 보자. ※ 참고 : Closure ☑️ Escaping Closure 어떤 경우에 사용되는가? 1. 어떤 함수의 내부에 존재하는 클로저(함수)를 외부 변수에 저장하는 경우 2. 클로저가 메서드의 인자로 전달됐을 때, 메서드의 실행이 종료된 후 실행되는 클로저 (비동기) → 파라미터 타입 앞에 @escaping이라는 키워드를 명시해야 한다. 예) 비동기로 실행되거나 completionHandler로 사용된 클로저의 경우 클로저를 메서드의 파라미터로 넣을 수 있다. // 1) 외부 변수 저장 var defaultFunction: () -> () = { print("출력") } func escapingFunc(closure: .. 더보기