Swift, iOS Foundation(30)
-
[Swift] 고차함수 개념 완전 정복하기: map, filter, reduce
오늘 글에서는 Swift의 고차 함수(Higher-order function)에 대해서 배워보도록 하자.고차 함수(Higher-order function)는 다른 함수를 전달인자(매개변수)로 받거나, 함수 실행의 결과를 함수로 반환하는 함수를 의미한다.어 잠깐, 함수를 인자로 전달될 수 있고, 함수의 반환값이 될 수 있다는 말,,, 어디서 들어본 적이 있지 않는가....?예전 내가 올린 글을 읽었으면 알겠지만, 이 부분은 클로저와 Swift의 일급객체(first-class object)라는 특성과 연관되어 있다!(오랜만에 아래 글을 참고해서 읽어볼까..?) [Swift] Closure 완전 정복하기: 일급 객체부터 작성법, 그리고 @escaping까지1. 클로저(Closure)란? 솝트에서 서버 통신을 ..
2022.01.24 -
[Swift] 구조체(Struct)와 클래스(Class) 완전 정복하기: 기본 개념부터 프로퍼티, 인스턴스, 상속까지
이번 글에서는 구조체(Struct)와 클래스(Class)에 대해 아주 자세하게 다뤄보려 한다.처음 Swift를 배우는 입장도 아닌데, 이제 와서 이 내용을 포스팅하는 이유가 뭐냐고 물어본다면... 음... 몇 번 반복에서 강조해도 아깝지 않을 만큼 정말 중요하기 때문이랄까.....?본격적으로 들어가기 전에, 객체지향 프로그래밍에서의 중요한 4가지 특성을 먼저 간단하게 살펴보겠다.왜냐고? 구조체와 클래스를 배우는 내용이 객체지향 프로그래밍에서의 중요한 특징에 많이 해당하기 때문이다.얼만큼 해당하는지 한번 살펴볼까?1️⃣ 추상화 : 객체의 공통적인 속성과 기능을 추출하여 정의하는 것 [오늘 배울 클래스, 구조체와 관련]2️⃣ 캡슐화, 은닉화 : 목적에 따라 데이터 구조 및 처리 방법을 결합시키고, 외부에는 ..
2022.01.22 -
[Swift] IBOutlet Collection이란 무엇일까?
이번 글은 iOS 개발을 하면서 아주 유용하게 쓸 수 있는 꿀팁을 하나 가져왔다. 나도 코드 리뷰에서 알게 된 내용인데, 성격이 같은 넘버링으로 되어있는 Outlet 변수들을 묶어서 사용하는 방법이 있다고 한다. 그것이 바로 IBOutlet Collection이라는 것을 활용하는 방법인데, 바로 어떻게 사용하는지 확인하러 가보자 ^__^ iOS 개발을 하면서, 특별한 이유 없이, first.. second.. third... 이런 순서대로 나열되어 있는 것들을 만들어본 적이 있지 않은가..? @IBOutlet weak var firstTmiLabel: UILabel! @IBOutlet weak var secondTmiLabel: UILabel! @IBOutlet weak var thirdTmiLabel:..
2022.01.09 -
[Swift] @IBInspectable, @IBDesignable을 사용해보자
Xcode에서 커스텀 뷰를 만들어 사용할 때, 신기하기도 하고 꿀팁이기도 한 속성에 대해서 오늘은 다뤄보려 한다. @IBInspectable, @IBDesignable이라는 속성인데, 이 친구들을 사용하면 "스토리보드에서 실시간으로 랜더링을 하는 것이 가능"하게 된다. 이것이 무슨 말인지는 글을 읽어보며, 하나씩 이해해보자. 1️⃣ 뜻부터 하나씩 알아보자 우선, Swift에서 @는 코드 자체의 특성을 가리킬 때 사용하는 키워드이다. 컴파일러에게 어떤 속성이 부여되었음을 알리는 역할이라고 생각하면 된다. IB는 Interface Builder의 줄임말이다. Xcode에서는 스토리보드를 가리킨다고 이해하면 된다. 즉, 우리가 흔히 사용했던 @IBAction func 키워드는 컴파일러에게 인터페이스 빌더와 A..
2021.12.20 -
[Foundation] UserDefaults를 사용해서 데이터를 전달하는 방법
iOS에서는 ViewController 간 데이터를 전달하는 방식을 크게 2가지로 나눌 수 있다. 데이터를 직접 전달하는 직접 전달(동기) 방식과, 데이터를 저장하고 필요할 때 꺼내오는 방식인 간접 전달(비동기) 방식으로 나누어진다. 오늘은 이 두 방식 중에서, 필요할 때 값을 꺼내올 수 있도록 쓸 수 있는 비동기 방식 중, UserDefaults라는 것을 사용하는 방법에 대해 공부를 해보려고 한다. UserDefaults란 iOS 프로젝트 내에 있는 데이터 저장소라고 이해하면 된다. 기본 프로젝트 폴더를 보면 info.plist라는 파일이 있는 것을 확인할 수 있는데, UserDefaults도 plist처럼 Key-Value 형태로 값을 저장하고 꺼내올 수 있는 것이 특징이다. UserDefaults ..
2021.12.17