목록iOS/Basic Study (26)
꾸준히 안타치기
https://stackoverflow.com/questions/29137488/how-do-i-resize-the-uiimage-to-reduce-upload-image-size How do I resize the UIImage to reduce upload image size I've been searching google, and have only come across libraries that either reduce the height/width or some how edit the UIImage appearance via CoreImage. But I have not seen or found one library, ... stackoverflow.com extension UIImage { fu..
데이터 저장 프로퍼티 리스트 관계형 /목록형 데이터 비정형 객체 데이터 NSUserDefault Core Data Archiving Custom Property List SQLite - 비교적 간단한 데이터 라면, 프로퍼티리스트를 사용 개인정보, 로그인데이터, 환경설정값등 - 테이블뷰나 컬렉션 뷰로 표현해야할 데이터라면 , 코어데이터 또는 SQLite 지속적으로 추가되는 데이터나 구조적인 데이터를 저장할때, 주로 테이블뷰나 컬렉션뷰등을 표현하는 데이터방식 - 위 두가지에 해당하지 않는 다면 아카이빙/ 일반 데이터 타입으로 표현할 수 없는 비정형 데이터를 저장할때 복잡한 데이터의 저장에 유리하나 대량의 데이터를 저장하는데는 적합하지 않다. Property List ( 사전적의미: 소유물, 재산 ) 비교적 ..
https://i-colours-u.tistory.com/13 [Xcode] 엑스코드에서 자주 사용하는 단축어 모음 안녕하세요! 오늘은 iOS 개발을 하게 된다면 필수적으로 사용하게 되는 Xcode에서 쓰는 단축어를 알아보려고 합니다! 다른 IDE에 비해 탈도 많고, 겁나 무겁지만... 뭐 어쩌겠어요 선택지가 이것밖 i-colours-u.tistory.com comm + R / 빌드하기 comm+ shift + 0 파일 열기 comm+ shift + L / 라이브러리 control + i / 자동정렬 cmd + 백스페이스(⌫) / 한줄한번에 지우기 cmd + 왼쪽/오른쪽 / 줄 왼오로이동 option + 왼쪽/오른쪽 / 단어간격으로 커서이동 option + 드래그 / 여려줄부분긁기 comm + 0 네비창..
https://developer.apple.com/documentation/foundation/notificationcenter/ 옵저버 패턴을 사용하는 노티피케이션 센터와 노티피케이션 ob·serv·er| əbzə́ːrvər | 명사1.관찰자, 관측자; 감시자; 목격자(witness); 〔군사〕 항공 정찰원, 기상 정찰원 ▸ an astronomical observer천체 관측자. 노티피케이션 센터와 노티피케이션 Notification 등록된 노티피케이션에 노티피케이션 센터를 통해 정보를 전달하기 위한 구조체입니다. 주요 프로퍼티 name : 알림을 식별하는 태그 var name: Notification.Name object : 발송자가 옵저버에게 보내려고 하는 객체. 주로 발송자 객체를 전달하는 데 ..
서버링크 "https://randomuser.me/api/?results=20&inc=name,email,picture" 에 있는 정보를 가져와서 테이블뷰에 표현해보자 1. 코코아터치클래스를 만든다. 이름은 NetWorkViewController 생성 2. NetWorkViewController에 UITableViewDataSourse를 추가한다. 3. @IBOutlet weak var tableView: UITableView! 를 작성 4. let cellIdentifier: String = "friendCell" - 셀이름 등록 5. 테이블 내용 작성 6. viewDidApper 작성 7. mainStroyboard로 가서 ViewController에 테이블을 생성 및 연결, 클래스연결, 셀생성 fr..
Grand Central Dispatch (GCD) Grand Central Dispatch(GCD)는 멀티코어와 멀티 프로세싱 환경에서 최적화된 프로그래밍을 할 수 있도록 애플이 개발한 기술입니다. 기본적으로 스레드 풀의 관리를 프로그래머가 아닌 운영체제에서 관리하기 때문에 프로그래머가 태스크(작업)을 비동기적으로 쉽게 사용할 수 있습니다. 프로그래머가 실행할 태스크(작업)을 생성하고 Dispatch Queue에 추가하면 GCD는 태스크(작업)에 맞는 스레드를 자동으로 생성해서 실행하고 작업이 종료되면 해당 스레드를 제거합니다. 디스패치 대기열(Dispatch Queue) Dispatch : 신속히보내다, 척척해치우다. Queue: 줄을서다. 대기, 행렬 디스패치 대기열(Dispatch Queue)은 ..
URLSession URLSession은 HTTP/HTTPS를 통해 콘텐츠(데이터)를 주고받는 API를 제공하는 클래스입니다. 이 API는 인증 지원을 위한 많은 델리게이트 메서드를 제공하며, 애플리케이션이 실행 중이지 않거나 일시 중단된 동안 백그라운드 작업을 통해 콘텐츠를 다운로드하는 것을 수행하기도 합니다. URLSession API를 사용하기 위해 애플리케이션은 세션을 생성합니다. 해당 세션은 관련된 데이터 전송작업 그룹을 조정합니다. 예를 들면 웹 브라우저를 사용 중인 경우 탭 당 하나의 세션을 만들 수 있습니다. 각 세션 내에서 애플리케이션은 작업을 추가하고, 각 작업은 특정 URL에 대한 요청을 나타냅니다. Request 서버로 요청을 보낼 때 어떤 (HTTP)메서드를 사용할 것인지, 캐싱 ..
https://www.boostcourse.org/mo326/lecture/16899/?isDesc=false iOS 앱 프로그래밍 부스트코스 무료 강의 www.boostcourse.org Operation Queue 연산 + 큐(줄을 짓다) = 대기열의 동작관리를 한다. Operation은 태스크(작업)와 관련된 코드와 데이터를 나타내는 추상 클래스입니다. Operation Queue는 연산(Operation)의 실행을 관리합니다. 대기열(Queue)에 추가한 동작은 직접 제거할 수 없습니다. 연산(Operation)은 작업이 끝날 때까지 대기열에 남아 있습니다. 연산(Operation)을 대기열에서 제거하는 방법은 연산(Operation)을 취소하는 방법뿐입니다. 취소하는 방법은 연산 객체(Opera..
진행순서 1. Json 데이터를 Assets에서 import해서 가져온다.(~~. json) -> json데이터 준비 2. command + N 해서 스위프트 파일을 생성 / 가져올 json형식에 맞게 struct를 만든다. (Friend.swift 생성) Json을 사용할수 있도록 Codable을 써준다. 3 .Main.storyboard에서 ViewController를 생성한다. 4. TableView를 끌어다가 놓는다. + TableViewCell을 끌어다가 놓는다. 5. ViewController의 클래스를 생성하고 (command + N -> JsonViewController라는 클래스명으로 생성) 6. Main.storyboard에서 ViewController에 JsonViewControlle..
Target-Action 디자인 패턴 ( 단순한 액션 ) / 다양한 상황에 맞게 할때는 - delegate 디자인 패턴 활용 Target-Action 디자인 패턴은 iOS 환경에서 많이 사용하는 디자인 패턴 중 하나입니다. Target-Action 디자인 패턴에서 객체는 이벤트가 발생할 때 다른 객체에 메시지를 보내는 데 필요한 정보를 포함합니다. 액션은 특정 이벤트가 발생했을 때 호출할 메서드를 의미합니다. 그리고 타겟은 액션이 호출될 객체를 의미합니다. 이벤트 발생 시 전송된 메시지를 액션 메시지라고 하고, 타겟은 프레임워크 객체를 포함한 모든 객체가 될 수 있으나, 보통 컨트롤러가 되는 경우가 일반적입니다. 직접 타겟이 될 객체에 액션에 해당하는 메서드를 호출하면 될 텐데 굳이 Target과 Act..
Delegation 델리게이션에 대해 자세히 살펴보기 전에, Delegate의 사전적 의미를 알아두면 내용을 이해하는 데 도움이 됩니다. Delegate: [명사] 대표(자), 사절, 위임, 대리(자) [동사] (권한, 업무 등을) 위임하다, (대표를) 선정하다 델리게이트란? 하나의 객체가 다른 객체를 대신해 동작 또는 조정할 수 있는 것을 의미 객체가 해야할 일을 부분적으로 확장하여 대신해서 처리를 해준다. 하나의 객체가 모든일을 처리하는 것이 아니라 처리해야할 일 중의 일부를 다른 객체에 넘기는 것을 말한다. 그 업무를 잘하는 사람에게 일을 대신해달라고 요청하는 것 델리게이트는 쓰면 뭐가 좋은가? 기능을 위임할 수 있는 객체가 있다는 것은 그만큼 직접 구현해야하는 부분이 적다는 뜻 -> 효율성이 높다..
뷰의 상태 변화 메서드 뷰가 나타나거나 사라지는 등 뷰가 화면에 보이는 상태가 변화할때 호출되는 메서드입니다. 각 메서드가 호출 될때의 시점과 수행하면 좋은 작업을 확인해보세요. func viewDidLoad() 뷰 계층이 메모리에 로드된 직후 호출되는 메서드 뷰의 추가적인 초기화 작업을 하기 좋은 시점 메모리에 처음 로딩 될때 1회 호출되는 메서드로, 메로리 경고로 뷰가 사라지지 않는 이상 호출되지 않음 func viewWillAppear(_ animated: Bool) 뷰가 뷰 계층에 추가되고 화면이 표시되기 직전에 호출되는 메서드 뷰의 추가적인 초기화 작업을 하기 좋은 시점 다른 뷰로 이동했다가 되돌아오면 재호출되는 메서드로, 화면이 나타날때마다 수행해야하는 작업을 하기 좋은 시점 func view..