Cocoa와Cocoa Touch는 애플 기기에서 앱을 개발할 때 사용하는 통합 프레임워크다.
오류들을 적절하게 처리할 수 있어야 한다
부스트코스에서 모두를 위한 컴퓨터 과학 (CS50 2019)을 학습했다.
앱을 사용하는 사용자에게 매끄러운 화면 전환과 명확한 흐음 제공은 사용자 경험을 크게 좌우하는 중요한 요소다. 이러한 사용자 경험을 구현하기 위해서는 내비게이션 인터페이스에 대한 이해가 필요하다.
Swift로 코딩테스트 문제를 풀면 Swift언어에 대해 모드던 것들을 배울때가 많다.기본적인 기능들을 탄탄하게 알고 있으면 많은 도움이 될것 같아서 프로그래머스에서 제공하는 코딩 기초트레이닝 과정 문제들을 모두 풀어 보았다. 난이도가 어렵지 않아 금방 풀 수 있었다.
뷰 컨트롤러의 생명 주기(View Controller Lifecycle)는 iOS 앱에서 화면이 화용자에게 어떻게 표시되고, 그 상태가 어떻게 변화하는지를 관리하는 과정이다.
프로토콜과 익스텐션은 스위프트 프로그래밍의 핵심 요소중 하나이다. 효율성과 유연성을 높이는 중요한 역할을 수행하고 있다.
델리게이트 패턴은 한 객체가 특정 작업을 다른 객체에 위임하는 디자인 패턴이다.
애플은 스위프트 2.0을 발표하며 '스위프트는 프로토콜 지향 언어다' 라고 발표했다. 그렇다면 이 프로토콜 지향 프로그래밍(Protocol-Oriented Programming, POP)이라는 개념은 무엇일까?
싱글톤 패턴은 소프트웨어 디자인 패턴의 하나로, 클래스의 인스턴스가 하나만 만들어지도록 설계하는 패턴이다.
특정 제스처 이벤트가 일어나면 각 타겟에 맞는 액션 메시지를 보내 제스처 관련 이벤트를 처리한다.
UIStackView는 iOS 9부터 도입된 UI 구성 요소이다. 스택뷰는 오토레이아웃을 사용하여 인터페이스를 빠르고 쉽게 구성할 수 있도록 도와준다. 스택뷰를 통해 레이아웃의 복잡성을 줄이고 직관적으로 UI를 만들수 있다.
오늘은 이전에 배운 내용들을 활용하여 간단한 로그인/회원가입 기능을 구현해보았다.과정 중 소소하게 배운 점들을 정리 해본다.
우리가 평소 사용하는 앱들에서 다양한 유형의 텍스트를 입력받는 것을 경험한 적이 있을것이다. 이 때 Text Input Traits가 사용자 입력 경험을 향상시키는 데 중요한 역할을 한다.
UITableView와 UITableViewCell의 Basic Style을 이용하여 멜론의 재생목록 리스트를 간단하게 만들어 보기
이번에는 음원재생목록보다 좀더 디테일한 설정이 필요한 음원순위목록을 CustomTableViewCell을 이용하여 만들어 볼 것이다.
Segue는 iOS에서 두 개의 뷰 컨트롤러 사이의 전환을 관리한다.
다양한 개발분야에서 데이터를 교환할 때 JSON 형태로 많이 사용한다. 그렇기 때문에 iOS 개발 과정에서 JSON타입의 데이터를 자주 다룬다.
Codable을 사용하여 기존 더미데이터룰 JSON데이터로 대체해보기
JSON, Codable, Segue, UITableView등을 활용하여 직접 고민해서 만들어 보면 좋을듯 하여 기상정보 앱을 만들어 보았다.
PhotoKit은 iOS 및 macOS에서 사진과 비디오 관련 애플리케이션 개발을 하기 위한 프레임워크로, 애플의 사진 라이브러리에 접근하고, 사진과 비디오 에셋과 메타데이터를 관리하는 기능, 사진 라이브러리의 변경을 감지하고 반응하는 기능 등을 제공한다.
이번에 해볼 작업은 카메라 롤에서 사진을 가져와 테이블뷰에 배치하여 보여주는 기능과, 배치된 사진들을 테이블뷰의 edit 모드를 통해 제거하는 기능이다. 완성 코
개발관련 공부를 하다보면 동기, 비동기, 동시성 같은 용어들을 자주 듣게 된다. 그만큼 중요한 개념이라고 할 수 있다.
iOS의 동시성프로그래밍에 대해 알아볼 것이며 내용을 습득하면서 혼란스러운 부분에 대해서도 다루어 보려고 한다.
GCD는 애플에서 제공하는 유용한 비동기 프로그래밍 라이브러리 이다. iOS, macOS, WatchOS 등 많은 애플 제품에서 사용된다. GCD는 멀티코어, 멀티 스레딩 환경에서 코드를 더 효과적으로 실행하기 위해 설계되었다.
UIScrollView는 iOS에서 스크롤 가능한 영역을 제공하는 컴포넌트이다. 화면에 표시되는 영역보다 큰 콘텐츠를 표시할 때 사용된다.
이번에는 직접 스크롤뷰를 사용해보겠다.iOS 11부터 추가된 기능으로 이 두 가이드는 UIScrollView의 레이아웃을 더 명확하고 직관적으로 설정하기 위한 도구이다.
UINavigationItem은 네비게이션 (Navigation Bar)가 어떤 아이템을 표시할지 관리하는 클래스다.
UICollectionView는 iOS에서 제공하는 UI 컴포넌트로 정렬된 데이터 항목을 목록으로 유연하게 표시 가능하다.
UICollectionViewFlowLayout는 UICollectionView의 아이템들을 어떻게 배치할지 결정하는 레이아웃 중 하나다.
CollectionViewFlowLayout에 대해 알아보았다. 직접사용해보면서 익혀보자
UICollectionViewCompositionalLayout
컨텐츠를 공유하거나 다양한 작업을 수행할 수 있는 UIActivityViewController를 알아보자.
Alert와 ActionSheet를 통해 사용자에게 중요한 정보나 선택 메시지를 앱의 흐름을 중단시켜 사용자에게 표시한다.
UITabBar는 하단에 위치하며, 앱의 주요 기능들을 한눈에 볼 수 있으며 여러 화면 또는 기능 간의 빠르고 편리한 전환이 가능하다.
iOS 에서 네트워킹 작업을 하기 위해 URLSession을 사용한다.
KVC와 KeyPath 모두 객체의 속성에 간접적으로 접근하는 메커니즘을 제공하지만, 기본 원리와 사용법에는 명확한 차이점이 있다. 각 개념에 대해 알아보도록 하자
Key-Value-Ovserving(KVO)은 다른 객체의 속성에 대한 변경 사항을 객체에 알리기 위한 코코아 프로그래밍 패턴이다.
NotificationCenter와 Notification은 앱 내의 다양한 컴포넌트 간 통신을 가능하게 해주는 유용한 도구다. NotificationCenter를 통해 이벤트를 전달하는 방법을 알아보자
iOS 개발자는 꼭 알아야 할 기본 원칙들의 핵심 가이드라인에 대해 알아보자
Swift에서는 이름이 정말 중요하다 이번에는 Naming에 대해 알아보면서 코드의 가독성과 유지 보수를 위한 올바른 이름짓기를 알아보도록 하자
이번에는 Swift의 공식 API Design Guide의 Convention 파트에 대해 알아보도록 하겠다.
이번에는 Swift의 공식 API Design Guide의 Special Instructions파트에 대해 알아보자
대표적으로 지도앱과 같이 사용자의 위치를 이용한 앱들이 많다. 사용자 위치를 활용하기 위해 CoreLocation에 대해 알아보자
API를 통해 우리는 서비스와 데이터를 연결하고, 외부 서비스와 상호작용한다. 이러한 기능들을 잘 활용하기 위해서는 먼저 API 키의 보안 문제와 중요성을 알아야 한다.
클로저는 코드에서 전달하고 사용할 수 있는 독립된 기능 블록이다. 함수와 유사한 기능을 가진다.
오토클로저는 함수의 인자로 전달되는 표현식을 자동으로 래핑하는 클로저다.
프로그래밍 공부를 하다보면 객체지향 프로그래밍에대해 많이 듣게된다. 객체지향 프로그래밍이 뭘까?
이전에 객체지향 프로그밍과 특징에 대해 알아보았다.이번에는 객체지향 프로그래밍을 위한 5가지 원칙 SOLID에 대해 알아보자.
이번에 Firebase를 통해 구글 로그인을 구현할 일이 있어서 한번 정리 해본다.
Firebase Realtime Database와 Cloud Firestore는 모두 Google의 Firebase플랫폼에서 제공하는 NoSQL 기반의 클라우드 데이터베이스 서비스 이다.는
비동기 함수를 처리할 때 유용한 escaping 클로저에대해 다시한번 사용해보면서 알아보자
completionHandler 방식으로 비동기 작업을 처리하던 중 점점 코드가 망가지고 있다는 느낌이 들었는데 async/await가 좋은 해결책이라고 생각하여 학습하고 정리해보자
iOS개발을 하다보면 자연스럽게 Optional에 대해 이해할 수 있다.그런데 관련 용어들에 대해 정확히 숙지 하지 못한듯 해서 이번에 간단하게 정리해보려고 한다.
iOS 메모리 구조에 대해 간단하게 정리해보자.
iOS 메모리 구조에 대해 간단하게 정리해보자.
Delegate 패턴을 적용할 때 delegate를 weak로 정의하는 것을 권장한다. 그래서 습관처럼 weak로 선언해왔다.ARC에 대해 알게 되면서 왜 delegate를 weak로 선언하는 것이 권장되는지 한번 고민해보고자 한다.
ARC는 앱에서 사용하는 메모리를 추적하고 과린하는데 사용되는 Automatic Reference Counting의 약자이다
UIKit의 컴포넌트들의 크기나 사이즈를 정의할 때 CGFrame, CGRect처럼 앞에 'CG'가 붙는것을 많이 봤다. Core Graphics를 의미한다.
WWDC 2016 Understanding Swift Performance를 보면서 궁굼했던 부분에 대해 알아보았다.
이전처럼 이번에도 'Understanding Swift performance'를 보고 헷갈렸던 부분이나 궁굼증을 중심으로 정리해보겠다.그 중 Method Dispath에 대해 중점적을 알아보자.
이번에는 Understand Swift Performance의 마지막!Generic을 활용하여 성능을 향상시키는 방법에 대해 알아보자
View Controller의 Role에 대한 문서를 읽어보자
SyncSwift 2022 현장에서 김윤재님의 발표를 보고 작성하였습니다.
최근에 wwdc Understand Swift Performance를 보았는데 이 영상을 보고 apple/Swift의 OptimaizationTips를 보면 좋다고 하여 찾아보았다고 정리해보려고 한다.
컴퓨터의 기본 개념에 대해서도 정리 해보려고 한다. 이번에는 컴퓨터의 구조와 상호작용에 대해서 알아보도록 하겠다.
일반함수에서 async함수를 호출할 수 없었다. 일반함수에서는 Task를 통해 async함수를 호출할 수 있다.