[iOS] URLSession Alamofire
·
🌙 iOS 스터디/iOS
Alamofire는 HTTP 네트워킹을 하는데 자주 사용하게 되는 코드나 함수를 더 쉽게 사용할 수 있도록 모아놓은 라이브러리 Alamore란 iOS, macOS를 위한 Swift 기반의 HTTP 네트워킹 라이브러리 Alamofire는 URLSession 기반이며 URLSession은 네트워킹 호출에서 모호한 부분이 많은데 Alamofire를 사용한다면 데이터를 접근하기 위한 노력을 줄일 수 있으며 코드를 더 깔끔하고 가독성 있게 쓰는 것이 가능해짐 URLSession iOS에서 기본적으로 제공하고 있는 HTTP통신 방법은 여러가지가 있지만 URLSession을 이용한 방법이 대표적. URLSession은 URLSessionConfiguration을 이용하여 생성을 하게 된다. URLSession 여러개..
[Swift] GCD Dispatch Queue
·
🌙 iOS 스터디/Swift
Main Queue : 시스템이 생성해주는거 사용 사용자 UI update 관련 인터렉션 처리 async만 사용가능. Global Queue : 시스템이 생성해주는거 사용 QoS (Quality or Service): 글로벌 큐에서 사용될 우선순위를 정해주는 인자 (우선순위가 높은순) 1. userInteractive : 바로쓰는 대화에 작업에 사용 2. userInitiated 3. default 4. utility : 수초~ 수분에 걸리는 사용 (네트워크 파일 등) 5. background : 사용자들과 당장 인터렉션이 필요가 없는 경우 (뉴스, 위치, 영상 다운 등등) Custom Queue : 사용자 직접 생성 직접 큐를 생성해서 쓰는 경우 let concurrentQueue = DispatchQ..
[ios] 비동기 (Async) vs 동기 (Sync) 와 직렬 vs 동시처리
·
🌙 iOS 스터디/iOS
다른 하나의 스레드로만 보내는 것이 직렬처리 여러 개의 스레드로 분산 처리 하는 것이 동시 개념 순서가 중요할 때, 주로 직렬 처리를 사용한다. 완전히 다른말이다. 비동기 라는 말은 작업이 보내는 쓰레드에 관련된 말이다. 메인 스레드에서 다른 스레드로 보낸 작업을 기다릴지 말지에 관한 내용이 동기 , 비동기에 관한 내용이고, 메인스레드에서 다른 스레드로 작업을 보낼 때, 스레드가 한개냐 여러개냐?를 뜻하는것이 직렬 동시처리 이다.
[Swift] Equatable , Codable 프로토콜
·
🌙 iOS 스터디/Swift
Equatable struct Todo: Codable, Equatable { let id: Int var isDone: Bool var detail: String var isToday: Bool mutating func update(isDone: Bool, detail: String, isToday: Bool) { // [x] TODO: update 로직 추가 self.isDone = isDone self.detail = detail self.isToday = isToday } // '=='이라는 조건을 정의 해주는 것.Equatable이라는 프로토콜을 넣어주면 우리 맘대로 정의 가능. static func == (lhs: Self, rhs: Self) -> Bool { // [x] TODO: 동등 조..
[Swift] mutating 구조체
·
🌙 iOS 스터디/Swift
Mutating 구조제에 선언된 프로퍼티를 변경하기 위해서는 함수앞에 mutating이라는 말을 써주어야한다. 그래야 값을 변경하는지 아닌지 알수 있음 struct Todo: Codable, Equatable { let id: Int var isDone: Bool var detail: String var isToday: Bool mutating func update(isDone: Bool, detail: String, isToday: Bool) { // [x] TODO: update 로직 추가 self.isDone = isDone self.detail = detail self.isToday = isToday } // '=='이라는 조건을 정의 해주는 것.Equatable이라는 프로토콜을 넣어주면 우리 맘..
[Xcode] 데이터 저장방법
·
🌙 iOS 스터디/Xcode
데이터가 적은 경우 NSCoding Property List 데이터가 많은 경우 Core Data(구현난이도 있음) Realm Serialization 등등등... Codable NSCoding 처럼 데이터가 적은 경우 구현하기에 적합하며, swift4이상부터 지원하기 시작. 현재는 거의 필수로 사용중. 아주 쉽게 데이터를 다룰 수 있게 해주는 프로토콜.
[Xcode] Project editor - 프로젝트 편집기
·
🌙 iOS 스터디/Xcode
프로젝트 편집기의 첫 번째 열에있는 프로젝트 제목 아래에는 Project와 Targets제목이 표시된다. Project는 생성하는 모든 프로젝트는 해당 특정 프로젝트의 모든 대상에 대한 기본 빌드 설정을 정의한다. Target은 빌드하는 앱이며, xcode가 프로젝트나 작업 공간에서 파일들 안에서 제품을 구축하는 데 필요한 정보를 포함한다. Gerneral : ID, 서명 및 배포 옵션과 같이 가장 일반적으로 수정된 대상 설정을 조정 Singing & Capabilities : 앱에 승인, 앱 서비스를 활성화. 앱에 서명하려면 Xcode 프로젝트의 각 대상을 동일한 팀에 할당해야 한다. 개인으로 등록하면 1인 팀으로 간주됨. 만약 당신이 Apple Developer Program의 회원이 아니라면, Xc..
[xcode] Storyboard objects 정리
·
🌙 iOS 스터디/Xcode
UILabel : 한 줄 이상의 정보 텍스트를 표시 UIButton : 사용자 상호 작용에 대한 응답으로 사용자 지정 코드를 실행하는 컨트롤 버튼 UISegmentedControl : 여러 세그먼트로 구성된 수평 컨트롤이며 각 세그먼트는 개별 버튼으로 작동 UITextField : 편집 가능한 텍스트 영역을 표시하는 개체 UISlider : 연속 된 값 범위에서 단일 값을 선택하기위한 컨트롤 UISwitch : on / off와 같은 바이너리 선택을 제공하는 컨트롤 스위치 UIActivityIndicatorView : 작업이 진행 중임을 보여주는보기 UIProgressView : 시간 경과에 따른 작업 진행 상황을 보여주는보기 UIPageControl : 가로로 일련의 점을 표시하는 컨트롤 . 각 점은 ..
[xcode] Inpo.plist 파일 - 애플리케이션 정보
·
🌙 iOS 스터디/Xcode
Info.plist developer.apple.com/documentation/bundleresources/information_property_list Apple Developer Documentation developer.apple.com Info.plist >> 속성에대한 정보들을 key - value 형태로 저장한 리스트 파일이다. 코드 형태로는 xml형식으로 볼 수 있다. key-value 쌍은 시스템이 연결된 번들을 해석하는 방법을 지정한다. key-value 쌍은 번들에 대한 것도 있지만, 다른 일부는 번들이 나타내는 앱, 프레임 워크 또는 기타 항목 을 구성한다. 일부 키는 필수이고, 다른 키는 필요하다면 상세화 한다. bundle: 덩어리, 패키지 번들ID라는 용어는 같은데 형태가 2가..
[xcode] HeaderView있는 CollectionView 애플 뮤직 앱
·
🌙 iOS 스터디/Xcode
개요 HeaderView있는 CollectionView로 구성한다. CollectionView의 cell에는 뮤직 앨범이 들어간다. HeaderView에는 CollectionView에 있는 cell 앨범 중 랜덤한 앨범의 정보가 보여진다. 앨범을 클릭시 해당 곡을 재생할 수 있는 화면을 띄운다. 재생 버튼을 누르면 곡이 재생이 된다. 일시정지 버튼을 누르면 곡이 멈춘다. 슬라이더를 이용하여 원하는 부분의 재생이 가능하다. 다크모드, 라이트모드 적용시 알맞게 보여준다. 실행 동영상
[xcode] CollectionView로 Animation기능을 추가한 원피스 현상금 앱
·
🌙 iOS 스터디/Xcode
개요 MVVM 디자인 패턴을 이용하여 원피스 현상금 랭킹앱을 디자인. 현상금이 높은 순서대로 보여주어야 한다. View구성은 CollectionView를 이용하였다. 애니메이션 기능을 추가하여 동적인 느낌을 추가하였다. 실행 동영상 MVVM 디자인 패턴 View = UI + ViewController Model = 데이터 ViewModel = Model은 ViewModel를 거쳐서 접근 가능하여야 한다. 알고리즘적인 부분 수행 MVVM에 관한 구현 방법은 TableView로 구성한 1차 원피스 현상금 앱과 동일하다. (밑 링크 참고) cau-meng2.tistory.com/101?category=833321 [Xcode] MVVM을 이용하여 TableView로 구성한 원피스 현상금 앱 개요 MVVM 디자..
[xcode] 유용한 단축키 모음 ( - 지속적 업데이트 중)
·
🌙 iOS 스터디/iOS
CMD + click: 정의로 이동 CMD + OPT + click: 정의로 이동하되 현재 창 반대편에 열기 CMD + R: 실행 CMD + CTRL + E: 특정 단어 선택 후 누르면 현재 파일내 동일 단어를 일괄 편집 CMD + OPT + 왼쪽 / 오른쪽: 현재 커서가 위치한 블록 접기/펼치기 option + cmd + = : update frame
슬라임 통통
'분류 전체보기' 카테고리의 글 목록 (3 Page)