일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Clean Code
- ribs
- 스위프트
- UITextView
- collectionview
- 리펙토링
- swiftUI
- uitableview
- MVVM
- 클린 코드
- HIG
- 리팩토링
- Human interface guide
- rxswift
- Refactoring
- map
- RxCocoa
- ios
- uiscrollview
- SWIFT
- Protocol
- swift documentation
- Xcode
- tableView
- 리펙터링
- Observable
- 애니메이션
- clean architecture
- UICollectionView
- combine
- Today
- Total
목록분류 전체보기 (1617)
김종권의 iOS 앱 개발 알아가기
SQLite Browser툴을 이용하여 필요한 테이블을 먼저 정의 한 후, 이 파일을 "앱 번들"에 저장, 이 템플릿을 "문서 디렉토리"에 저장 * "앱 번들"영역이 아닌, "문서 디렉토리"의 이점 : 앱 업데이트할 시 번들 영역은 데이터들이 덮어쓰이지만 문서 디렉토리는 안전하게 유지됨 (앱 번들 영역은 .swift파일이 저장되어 있는 영역) 1. 템플릿 DB 생성 1) DB저장 (가급적이면 바탕화면에 저장) 2) 테이블 저장 * 테이블 구성 내용은 www.ios-development.tistory.com/84 참고 2. xcode에서 만든 템플릿 사용 1) 만든 .sqlite파일을 xcode안 폴더에 드래그앤 드롭 - 단 Add to targets에 체크(앱 빌드 시 번들 패키지 과정에 추가시키기 위함..
1. 라이브러리 세팅 1) libsqlite3.tbd 2) sqlite3는 c,c++로 되어있으므로 브리지 헤더로 임포트 해야함 추가 -> Header File -> 이름 입력후 저장 3) 브리지 헤더 추가 target -> Build Settings -> All, Combined탭 선택 -> swift Compiler - General -> Objective-C Bridging Header에 아까 추가한 파일의 디렉토리명 복붙 4) 만든 브리지 헤더 파일에 sqlite3.h임포트 2. DB연결과 테이블 생성 1) DB와 연관된 필수 객체 2개 정의 (OpaquePointer자료형) - DB와 연결하는 객체 - SQL문자열이 컴파일 정보가 저장될 stmt 2) DB가 저장될 디렉토리 생성 - 파일을 문서..
* SQLite는 c언어 기반이므로 swift에 맞는 데이터 타입과 완전히 동일하지 않으므로, 가급적이면 Objective-c로 만들어진 FMDB라이브러리 사용할 것 1. SQLite설치 1) 아래 링크 접속 www.sqlitebrowser.org DB Browser for SQLite DB Browser for SQLite The Official home of the DB Browser for SQLite Screenshot What it is DB Browser for SQLite (DB4S) is a high quality, visual, open source tool to create, design, and edit database files compatible with SQLite. DB4S i..
* SQL (Structured Query Language) 관계형 데이터베이스의 데이터를 관리할 목적으로 설계된 프로그래밍 언어 1. SELECT SELECT 칼럼1, 칼럼2, .... FROM 테이블명 [WHERE ] [ORDER BY ] [HAVING ] 2. INSERT INSERT INTO 테이블명 (칼럼1, 칼럼2, ...) VALUES (값1, 값2 ...) 또는 VALUES에 삽입할 데이터를 나열해도 가능 3. UPDATE UPDATE 테이블명 SET 수정할 칼럼1 = 수정 할 값 1, 수장할 칼럼2 = 수정 할 값 2 ... [WHERE 수정할 데이터의 조건] 4. DELETE DELETE FROM 테이블명 [WHERE ]
* 프로퍼티 리스트는 데이터를 쌓기보다는 데이터 갱신에 초점 - 만약 프로퍼티 리스트로 데이터를 관리한다면, 배열타입이므로 "query"를 사용하지 못하므로 검색에 어려움 - 새로운 데이터를 추가하려면 매번 모든 배열 데이터를 메모리로 "load"했다가 다시 프로퍼티 리스트에 저장하므로 비효율 적 * 관계형 데이터 베이스 : 데이터들이 서로 결합될 수 있는 관계를 제공하는 데이터베이스 형태 1. DBMS 1) 개념 (Database Management System) * DB : 데이터들을 저장하고 있는 공간 * DBMS : DB내에 저장된 데이터에 손쉽게 접근할 수 있도록 해주는 소프트웨어 도구 (Oracle, MariaDB, MySQL, SQLServer) cf) "개발자들의 대화에서는 DB무엇을 쓰나..
첫 실행 시에만 사용자에게 튜토리얼 화면을 보여주는 것 (UserDefaults에 첫 실행인지를 체크 함으로써 두 번 째실행 이상에서는 활성화되지 않게 끔 구현) 1. 기본 지식 1) @2x, @3x의미 - Point단위 : 애플에서 사용되는 추상적 단위, 각 디바이스의 디스플레이가 가지는 "Scale Factor"에 따라 렌더링된 실제 Pixel단위로 변환 @1x이 100*100 pixel 일 경우(1point = 100*100 pixel), Retina디스플레이는 @2x의 "Scale Factor"를 가지므로 1Point = 200*200 pixel - Rendered Pixel : 각 Scale Factor를 반영하여 처리된 실제 해상도 2) 앱 씨닝(App Thinning) - 불필요한 데이터를 ..
1. 앱 계정 등록 1) 계정 생성 cmd + , Accounts + 버튼 2) 연결 USB로 iPhone과 맥북 연결, shift+cmd+2 -> 아이폰에서 잠금해제(지문 또는 face Id) -> 아래 화면에서 "Connect via network'체크 2. 아이폰에서 앱 실행 - USB제거, 디바이스 변경 후 실행(iPhone과 실행환경이 같은 와이파이가 아닌 경우는 USB계속 연결) - 단, '로그인'키 체인을 입력하세요 라는 창이 생기는 경우, 맥북을 킬 때 처음 잠금화면에서 바탕화면으로 넘어갈 때 입력하는 password를 입력 3. 오류 핸들링 1) 빌드된 앱 실행시, "신뢰하지 않는 개발자"("신뢰할 수 없는 기업용 App 개발자") 해결방법 아이폰에서 : 설정 -> 일반 -> 기기관리 -..
* property list와 UserDefaults의 쓰임 - property list : 데이터가 많아서 따로 그룹을 묶어서 저장하는 경우, 비슷한 형식의 데이터 그룹이 반복되는 경우 (user1@naver.com, user2@naver.com. ... 이런 데이터들은 "키"값의 유형이 name, password와 같이 유사하므로 .plist에 key값을 저장해놓고 사용하면 편리), UserDefaults는 key가 중복되면 value값이 지워지므로 - UserDefaults : 앱 전체에서 사용되는 공통 데이터, 데이터 양이 적은 경우 cf) 데이터가 대규모이면 SQLite, Realm, core data사용 1. DB 활용 2. UI 구성 3. 구현 (가급적이면 Property List의 템플릿 ..