Apple🍎
-
[iOS/OS] 메모리 구조Apple🍎/iOS 2024. 8. 23. 17:46
메모리운영체제가 위처럼 보조기억장치(HDD)에서 프로그램 정보를, 메모리 program code 영역에 로드한다.이후 CPU는 프로그램 코드에 있는 메모리를 관리하면서 명령어를 실행한다.위의 RAM(흔히 메모리) 안에는 코드, 데이터, 스택, 힙 이렇게 4가지 영역으로 나뉜다.운영체제는 RAM에서 각각의 영역을, 프로그램이 실행될 때 얼만큼 프로그램에 할당할 것인지를 결정한다.운영체제는 각 프로그램을 “프로세스”로 관리한다.각 프로세스에 대해 가상 메모리 공간을 제공하고 이 공간은 해당 프로세스만이 사용할 수 있는 고유한 메모리 주소 범위를 가진다.가상 메모리각 프로그램이 자신만의 독립된 메모리 공간(가상 주소 공간)을 가지고 있다고 느끼게 하는 것이다. 실제로는 RAM에 프로그램이 필요한 데이터, 코드..
-
[iOS/UIKit] UICollectionViewLayout 정리Apple🍎/iOS 2024. 5. 17. 12:24
CollectionLayoutColletionView의 레이아웃을 생성하기 위한 추상적인 베이스 클래스@MainActorclass UICollectionViewLayout : NSObject여러 collectionView를 잘 보여주기 위한 레이아웃이다먼저 subclassing을 해야한다collectionView는 cells, supplementary view, decoration views 로 구성된다*UICollectionViewLayout을 사용하기 전에, CompositionalLayout을 수정할 수 있는지도 확인 해야한다.?? 이건 무슨 말일까? SubclassingLayout object는 collection view에서의 항목 위치, 크기 및 시각적 상태를 정의한다.Layout views은..
-
Swift 문법 정리(-ing)Apple🍎/Swift 2024. 4. 23. 18:57
숫자Float, Double Float은 소수점 이하 6자리만 표현 가능, Double은 15자리까지 가능하다.var FloatValue: Float = 1.2345678910var DoubleValue: Double = 1.2345678910 print("FloatValue는 : \(FloatValue), Double은 : \(DoubleValue)")//FloatVlaue는 : 1.2345679, Double은 : 1.234567891//FloatVlaue는 9에서 짤리지만, Double은 모든 소수점을 다 보여준다. FloatValue = 123.456 print(FloatValue)제곱근(sqrt), 제곱(pow) import Foundation 필요sqrt(double형) -> return Do..
-
[iOS] CoreData vs UserDefaultsApple🍎/iOS 2024. 4. 15. 13:48
CoreData란?코어데이터는 SQLite를 데이터의 영구 저장소로서 사용할 뿐, 코어데이터 자체는 명백히 ‘프레임 워크’이다.*DataBase가 아닌 ORM(Object Relational Mapping) 프레임워크저장되는 곳은?CoreData는 데이터베이스 형태로 구조화된 데이터를 저장하고 관리하는데 사용된다.SQLite와 유사한 내부 구조를 가지며, "Documents" 디렉토리 내에 SQLite 파일 형태로 저장됩니다. 대용량의 데이터나 복잡한 데이터 모델을 다루는 데 유용합니다.CoreData 구조*관리 객체란?-> DB의 테이블 행, 1개의 레코드를 의미맨 위의 파란색인 Persistent Container(영구 컨테이너)코어 데이터 스택 자체의 생성과 관리를 담당하는 컨테이너관리 객체 con..
-
[iOS] Cocoapods, Carthage, Swift Package ManagerApple🍎/iOS 2024. 4. 15. 13:47
라이브러리 설치 시에 한번쯤은 고민하는 cocoapods, spm 같은 Dependency Management에 대해 알아보려 한다!한번 설치된 내 라이브러리가 업데이트 된 경우, 내 프로젝트에서도 해당 라이브러리를 최신 버전으로 업데이트 해야할 경우, 등등이렇게 프로젝트 내의 외부 라이브러리를 관리해주는 것을 Dependency Management 라고 한다.Dependency Management를 하는 방법은 총 3가지 이다.Cocopapods (코코아팟)Carthage (카르타고)Swift Package Manager (SPM)Cocoapods란?Cocoapods 설치 방법크게 Podfile, Pods, Podfile.lock 이렇게 3가지를 중점으로 본다.Cocoapods 설치sudo gem in..
-
[iOS/SwiftUI] Kakao Local API - 키워드로 내 주변 장소 탐색Apple🍎/iOS 2024. 4. 2. 16:18
Kakao local API를 사용하게 된 이유EYE-Mate 프로젝트에서 사용하는 내주변 안과, 안경점 탐색을 담당하던 Naver Search Place API 쿼리가 서비스를 중단하면서.. 어떻게 할까 고민하다가 Kakao Local API가 주변 장소 탐색을 지원하고 한번에 15개의 장소를 반환할 수 있다는 것에 카카오 API를 선택했다.원래 사용하던 naver api json 구조에는 장소의 기본 정보 뿐 아니라 오픈 상태, 썸네일 등등이 추가적으로 주어졌는데, kakao & naver둘다 API로 제공하는 장소 정보를 줄여버렸다.kakao 지도보다는 네이버 지도가 더 친숙하고 이미 구현해놨기도 해서 카카오 api로 데이터만 받아 장소 위치좌표를 네이버 지도에 뿌리려한다.API를 받아오는 과정은A..
-
[iOS] Xcode PlaygroundApple🍎/iOS 2023. 9. 27. 13:26
플레이 그라운드란?: 스위프트 코드를 입력하면 실시간으로 결과가 실행되는 인터랙티브 환경이다. 실행 버튼을 한번 누르면 코드가 추가될때마다 추가된 코드들을 실행 시킬 수 있다.단계별로 코드 실행이 가능하며, 실행 결과도 단계별로 보여준다. 주석에 마크업이 적용된 형식이 가능하다./*: # Welcome to Playgrounds This is your *first* playground which is intended to demonstrate: * The use of **Quick Look** * Placing results **in-line** with the code */ 위와같이 주석에 마크업 처리를 한 것을 Raw markup 형식이라고 한다. 이것을 rendered markup 형식으로 표시하려..