# Foundation

22개의 포스트
post-thumbnail

Swift Sorting API

정렬은 배열을 비롯해 다양한 프레임워크 - 특히 Core Data 및 SwiftData - 에서 활용되는 기능이다. 혹시 SortDescriptor 등을 써보려고 정렬 API를 둘러보려다 당황한 적 있는지? 뭔가 이것저것 많은데, 각각이 뭔지는 감이 잘 잡히지 않는다. Cocoa 시절부터 사용해왔던 API, Swift로 새롭게 작성된 API, Obj-C 런타임과 호환되는 Swift API 등이 섞여있기 때문이다. 각 타입들을 단계적으로 살펴보며 사용방법을 간단히 알아보자. > ❗️ minimum deployment가 iOS 14 이하인 경우, SortComparator 및 SortDescriptor를 사용할 수 없으므로 Comparator typealias 및 NSSortDescriptor를 사용해야만 한다. 다음 노션 페이지를 참조하자. > > - [NSSortDescriptor](https://doldamul.notion.site/NSSortDescrip

2023년 8월 3일
·
1개의 댓글
·

디자이너로 app에 해딩하기(Foundation,Wireframe, Overlay, backdrop)

오늘의 목표 와이어프레임 완성하기 컴포넌트들 정리하기 오늘의 디자인 와이어프레임 페이지별로 정리(기존에 손으로 스케치한것을 figma로 정리한 느낌이다) overlay 설정에 대해 프론트와 소통 오늘의 보완점 - 소통방식을 좀 더 명확히! 사유 문의주신 부분에 대해 준비되지않은 figma 이미지(내가 알아볼수있을 정도로 정리해놓음, 투명도 등을 정확하게 해놓지 않음)로 급하게 설명하려다보니, 말로 설명하게 되는 부분이 있었다. overlay, backdrop 같은 용어에 대한 정확한 정의에 대해 스스로 자신이 없어서 한번 더 묻다보니 한 큐에 소통이 안되는 부분이 있었다. => 대화가 아주 살짝 돌아갔음(모두가 A를 이야기했지만 서로 B를 이야기하는 줄 알았던 느낌) - Foundation을 명확히! 기존에는 감으로 margin, padding을 잡았다. 새롭게 배운건 보통 8의 배수로 margin, pad

2023년 8월 2일
·
0개의 댓글
·
post-thumbnail

Swift Predicate

💡 검색 또는 필터링을 목적으로 입력값들의 집합을 검사하는데 사용되는 논리적 조건식. > > 2023년 NSPredicate 타입 대체를 목적으로 추가되어 iOS 17, … 이상에서 사용 가능하다. > > NSPredicate과 비교해 다음과 같은 장점이 있다: > > - 타입 검사를 통한 타입 안정성 보장 > - Xcode Syntax Highlighting 및 자동완성 기능 사용 가능 > - 더이상 Obj-C 구문 규칙에 구애받지 않음 > - 모든 Swift 타입에 범용적으로 사용 가능 > - Sendable 및 Codable 지원 공식 문서 및 proposal 문서, Foundation 오픈소스에서 긁어낸 내용을 다음 노션 페이지들에 정리해놓았다. Predicate [PredicateExpressions](h

2023년 7월 15일
·
0개의 댓글
·

Cocoa와 Cocoa Touch

1. Cocoa와 Cocoa Touch? Cocoa와Cocoa Touch는 애플 기기에서 앱을 개발할 때 사용하는 통합 프레임워크다. Cocoa는 macOS용 애플리케이션 개발 환경 프레임워크로 핵심 프레임워크는 Foundtation과 Appkit이 포함되어 있다. Cocoa Touch는 iOS용 애플리케이션 개발 환경 프레임워크로, 핵심 프레임워크는 Foundation과 UIKit이 포함되어 있다. 두 프레임쿼으 모두 CoreData, MapKit, CoreAnimation등 다양한 기능을 포함하고 있다. 2. Foundation 프레임워크 Foundation 프레임워크는 iOS, macOS, tvOS 등에서 사용할 수 있는 애플의 핵심 프레임워크 중 하나이다. 데이터 저장, 텍스트 처리, 날짜 및 기산 계산, 네트워킹 등의 기능을 제공한다. (NSString, NSNumber, NSArray, NSDictionary...등) > NS접두사: NS는 NeXTSTEP

2023년 7월 7일
·
0개의 댓글
·

[Foundation] URLSession

[Foundation] URLSession NSURLSession 네트워크 데이터 전송 작업과 관련된 그룹을 조정하는 객체 Declaration Overview NSURLSession 클래스 및 관련 클래스는 URL로 표시된 endpoint에서 데이터를 다운로드하고 업로드하기 위한 API를 제공합니다. 앱이 실행 중이 아닐 때나 iOS에서 앱이 일시 중단된 동안 백그라운드 다운로드를 수행하기 위해 이 API를 사용할 수도 있습니다. NSURLSessionDelegate 및 [NSURLSessionTaskDelegate](https://develope

2023년 3월 16일
·
0개의 댓글
·

XMLParser로 XML 파싱하기

이번에 공공기관의 API를 이용해 사이드 프로젝트를 진행하던 중, XML 형식의 데이터를 처음으로 마주하게 되었다. 보통 서버와 API 통신을 통해 받아오는 데이터는 항상 JSON 형식이었기에 처음으로 XML을 다뤄야 하는 상황에서 적잖이 당황할 수 밖에 없었다. 그도그럴 것이 JSON은 Codable을 채택한 Struct를 이용해서 손쉽게 변환 작업을 할 수 있었는데, XML은 이런 방식의 사용이 불가하여 일일히 값을 할당해서 데이터 변환을 해줘야 하기 때문이었다. 그래도 Foundation 프레임워크에서 파싱하는 기능은 구현해놓았다는 점은 위안이었다. 그래서 오늘은 처음으로 다뤄본 XML 파싱을 정리해보고자 한다. XMLParser를 활용한 데이터 파싱 1. 개요 먼저 XML을 파싱하기 위해서는 라는 객체와 파싱 중에 태그 분기나 값 할당 등의 작업을 진행해줄 에 대한 채택이 필요하다. 를 생성한 뒤, 의 위임자를 설정하고 메서드를 통해 파싱을 진행하도록

2023년 3월 2일
·
0개의 댓글
·
post-thumbnail

[iOS] UiKit 알아보기

[패스트캠퍼스] 30개 프로젝트로 배우는 iOS 앱 개발 with Swift 초격차 패키지 Online을 학습하면서 나오는 이론 내용과 공식 문서에서 필요한 내용을 발췌하여 정리한 글입니다. > Part2. Basic 1. 명언 생성기 앱 만들기 코코아 터치(Cocoa touch Framework) iOS 개발환경을 구축하기 위한 최상위 프레임워크으로 터치와 관련된 어플리케이션을 개발할 때 사용하는 프레임워크이다. 일반적으로 iOS 개발을 위해 Object-C 혹은 Swift에서 상속(import) 하여 사용하는 UiKit, Foundation을 포함한 대부분의 객체들이 모두 Cocoa touch에 포함되며, 가장 많이 사용되는 프레임워크로는 UIKit과 Foundation으로 들수 있다. ![](https://velog.velcdn.com/images

2023년 1월 17일
·
0개의 댓글
·
post-thumbnail

Foundation: NSPredicate

NSPredicate은 Core Data에서 객체를 Fetch할 때 '유일한' 필터링 방법임에도 불구하고 두루뭉실한 느낌이 있었다. velog에 게재할까도 살짝 고민했지만, 가독성이나 기능(토글 목록) 면에서 정리할 때 편리했던 노션 링크를 그대로 거는게 더 낫다고 생각했다. 노션 링크 (대략 위와 같은 느낌으로 쭉 작성해놓았다) 작성하다보니 글이 두 종류로 나뉘어져서, 링크도 두개 올린다. doldamul.notion.site/NSPredicate 위 링크에서는 다음을 설명한다: predicate의 기본적인 개념 NSPredicate API 사용법

2023년 1월 17일
·
0개의 댓글
·
post-thumbnail

컴퓨터네트워크 #Foundation

Foundation1 Introduction packet switching -> store and forwarding 방식 사용 >#### Why do we have 'data loss'? The size of memory is limited -> it occurs overflow. 1. What is Internet? A set of networks based on IP protocol. >IP address -> what addresses are required? A) Source address/Destination address > #### Internet vs Web(ex. google) Internet: web+e-mail+online cat+... Web: Part of internet. A collection of interconnected documnets, linked by URL, hyperlinks. ![URL](https://v

2022년 10월 16일
·
0개의 댓글
·
post-thumbnail

Foundation: UndoManager

UndoManager는 Apple에서 undo/redo 기능을 쉽게 적용할 수 있도록 사전 정의해놓은 클래스이다. TextField와 같은 경우 이미 UndoManager를 활용해 undo/redo 기능을 구현해놓았고, 개발자들은 원하는 부분에 undo/redo 기능을 쉽게 적용할 수 있다. 다만 구글링해도 관련 자료가 거의 없다시피 하다보니 나 같은 초보 프로그래머가 호기심에 undo/redo를 적용해보려다 피보는 일이 없도록 정리글을 작성해보았다. 한번 알고나면 사용이 어렵지는 않지만, 처음 공부할 때는 꽤나 복잡하게 느껴진다. UndoManager 사용 방법 UndoManager를 사용하는 과정을 크게 3단계로 나눌 수 있다. UndoManager 생성 Undo 동작 저장 Undo/Redo 함수 호출 각각에 대해 자세히 살펴보자. 1. UndoManager 생성 UndoManager를 알아보기 위해 다음과 같이 클래스를 정의해보았

2022년 9월 5일
·
0개의 댓글
·
post-thumbnail

NSRegularExpression

정의

2022년 7월 21일
·
0개의 댓글
·
post-thumbnail

CSS 프레임워크

CSS 프레임워크 종류 전처리기 CSS 전처리기는 우리(개발자)에겐 CSS보단 친화적이지만 브라우저가 해석하지 못하는 언어로 작성된 스크립트를 별도 플러그인과 프레임워크를 통해 우리가 아는 CSS로 변환하는데 사용한다. 기존 CSS의 단점인 유지보수의 불편함 등을 보완한다. Sass (Syntactically Awesome Style Sheets) Sass는 기본적으로 SASS, SCSS 두 문법을 제공한다. 어떤 문법을 써도 Sass의 기능을 다 사용할 수는 있지만 모양새가 많이 다르다. SASS는 identation(들여쓰기)과 newline을 사용하고 SCSS는 curly braces(중괄호)와 semicolon을 사용한다.

2022년 6월 30일
·
0개의 댓글
·

[iOS] Foundation

Hits Foundation 원시 데이터 타입 (Stirng, Int, Double), 컬렉션 타입 (Array, Dictionary, Set) 및 운영체제 서비스를 사용하여 애플리케이션의 기본적인 기능을 관리하는 프레임워크이다. 🔸 데이터 타입, 날짜 및 시간 계산, 필터 및 정렬, 네트워킹 등의 기본 기능 제공한다. 🔸 iOS, macOS, watchOs 등 모든 애플 SDK 에서 사용된다. `Bas

2022년 6월 21일
·
0개의 댓글
·
post-thumbnail

Notification Center

Notification Center는 꽤나 오래전 부터 iOS의 이벤트 전송 매커니즘으로 자리잡았다. 어떤 요소들이 있는지 확인해보자. Publisher/Subscriber Pattern NotificationCenter에 대해 알아보기 이전에, 이 녀석이 어떠한 기반을 가지고 태어난 아이인지 알아볼 필요가 있다. 기본적으로 NotificationCenter는 Publisher/Subscriber Pattern을 따른다. Publisher/Subscriber Pattern은 비동기 메시징 패러다임으로, 발신자와 수신자로 구분되어 있다. 이 때, 발신자의 메시지는 특별한 수신자가 정해져있지 않아도 메시지를 보낼 수 있다. 즉, 보내는데 받는 녀석이 없어도 된다는 말이다. 대신 수신하는 쪽에서

2022년 5월 9일
·
0개의 댓글
·
post-thumbnail

URLSessionTask

이전 글에서 URLSession, URL, URLRequest 를 생성하는 방법을 알아보았다. 이번에는 어떤 Task들이 있는지 알아보자. Task Apple에서 기본적으로 제안하는 task의 종류는 총 3가지이다. 하지만 문서를 본 결과, URLSession에서 함수로 제안하는 task의 종류는 총 5개 였다. URLSessionDataTask URLSessionDownloadTask URLSessionUploadTask [URLSessi

2022년 5월 4일
·
0개의 댓글
·
post-thumbnail

URL / URLRequest

URLSession을 만들었다면, 그 안에 들어갈 URL과 Request를 정의해야 한다. 이번에도 문서를 보며 알아보자. URL 세션을 만들었다면, 이제 Resource의 위치를 적어줄 차례다. URL로 만들 수 있다. Apple에서 제공하는 URL은 local file, remote resource 모두에 접근가능하다. local로 작성한 경우네는 파일의 마지막 수정 날짜 변경과 같이 파일 속성을 직접 조작할 수도 있다. URL은 local file을 참조할 때 선호되는 방법이다.파일에서 데이터를 읽거나, 쓰는 객체에는 경로 이름 대신 대부분 URL을 받는 method들이 있다. 예를 들어 String.init(contenstOf:encoding:), Data.init(contentsOf:options:) 가 있다. URL Component URL은 생각보다 복잡하다. 읽을 수는 있지만 연속된 문자의 나열로 인해 파팍!하고 뭐가 뭔

2022년 5월 4일
·
0개의 댓글
·
post-thumbnail

[iOS] 코코아 터치 프레임워크란?

Cocoa Touch 코코아 프레임워크는 iOS, macOS 등과 같이 Apple 운영체제용 어플리케이션을 구현할 때 사용하는 프레임워크이다. 이 프레임워크 중에서, 터치와 관련된 어플리케이션을 개발할 때 사용하는 프레임워크가 바로 코코아 터치 프레임워크이다. 코코아 터치 프레임워크는 ios 개발환경을 구축하기 위한 최상위 프레임워크라고 할 수 있다. 일반적으로 우리가 iOS 개발을 위해 언어에서 상속하여 사용하는 클래스 객체들이 대부분 소속되어 있다. 우리가 가장 많이 사용하는 UIkit와 Foundation 또한, 코코아 터치 프레임워크에 속한다. UIkit UIkit는 사용자의 인터페이스를 관리하고 이벤트를 처리하기 위한 프레임워크이다. ![](https://images.velog.

2022년 3월 23일
·
0개의 댓글
·

Foundation - CharacterSet

Foundation - CharacterSet >참고 문서 > >https://beepeach.tistory.com/194 > >https://daheenallwhite.github.io/swift/2019/05/01/check-input-using-CharacterSet/ > >유니코드 - Table 12. General_Category Values > >https://www.unicode.org/reports/tr44/#GeneralCategoryValues > >애플 공식 문서 - CharacterSet > >https://developer.apple.com/documentation/foundation/characterset 애플 공식 문서에서 CharacterSet의 설명을 보면 "검색 연산에서의 사용을 위한 유니코드 문자 값의 집합"이라고 되어 있다. Topics의 설명을 봤을 때도 Unicode General Category에 대해 언급하기 때문에 먼저 이

2021년 11월 14일
·
0개의 댓글
·

Foundation - Measurement, Dimension (단위 변환)

Foundation - Measurement, Dimension (단위 변환) Measurement > https://developer.apple.com/documentation/foundation/measurement 단위를 변환해 주는 메서드를 제공 (convert(), converted() 등) Dimension > https://developer.apple.com/documentation/foundation/dimension 측정 단위를 나타내는 추상 클래스 아래는 ml-oz 변환 코드

2021년 11월 11일
·
0개의 댓글
·
post-thumbnail

Foundation Kit 이란?

Foundation Kit(줄여서 Foundation이라고 부르기도 함)은 iOS앱을 개발한 경험이 있거나 스위프트로 알고리즘을 풀어봤다면 낯설지 않으리라 생각합니다. 하지만 Foundation이 정확히 무엇인지, 어떤 역할을 하는지에 대해 모르기에 이번 기회에 알아보고자 합니다. 우선 애플 공식문서의 설명입니다. Foundation > Access essential data types, collections, and operating-system services to define the base layer of functionality for your app. 필수 데이터 타입, 컬렉션, 운영체제 서비스를 이용하여 앱의 기본 계층을 정의한다고 합니다. 1. Overview Foundation프레임워크는 데이터 저장, 텍스트 처리, 시간 및 날짜 계산, 정렬 및 필터링, 네트워킹을 통해 앱 및 프레임워크(

2021년 7월 7일
·
0개의 댓글
·