2016년 8월 31일 수요일

스위프트 델리게이트 패턴의 이해

델리게이트 패턴이란?
하나의 객체가 모든 일을 처리하는 것이 아니라 처리해야 할 일 중 일부를 다른 객체에게 넘기는 것!

 [ 일반 ]
  모든 작업을 객체 하나가 담당




[ 델리게이트 패턴 ]
 기능을 처리할 객체를 하고, 특정 이벤트가 발생할 때 이를 델리게이트에 의해
 위임된 본래의 객체로 전달.

 프로토콜 정의: 보통 객체이름 뒤에  Delegate를 붙여 정의



참고 :  http://seorenn.blogspot.kr/2015/01/swift-delegation-pattern.html


2016년 8월 30일 화요일

Xcode 와 Github 연동하기

Github 리포지토리(저장소) 생성
- 리포지토리 이름
- 공개, 비공개 설정
- "Initialize this repository with a README" 체크 해제 : 프로젝트를 로컬로 생성한 후 Github push
- 리포지토리 생성: 해당 리포지토리 Github adress 복사

Xcode 프로젝트 생성 및 Source Control설정

- Xcode - Preferences - Source Control : Enable Source Control 체크 확인
- Xcode 프로젝트 생성시 하단 Create Git resopsitory on My Mac 체크

Xcode Remote 생성
- Xcode 상단 Source 메뉴 - [ 프로젝트 - master ] - [Configure 프로젝트 선택] - [Remote] 선택
- 생성한 리포지토리 주소 입력하여 Remote 생성 : 이름은 브랜치 명으로 대체
- Source Control 메뉴에 Working Copies, Check Out 메뉴만 활성화 된 경우 Working Copies 실행

Github 연동 테스트

- 프로젝트 Commit, push, pull Test 진행

참조 : https://www.youtube.com/watch?v=13HhkdNkMy8

2016년 8월 29일 월요일

스위프트 카메라와 포토 라이브러리 사용

UImagePickerController 클래스 : 카메라와 포토 라이브러리를 사용 할 수 있음
[ 메서드 ]
.sourceType : SourceType 속성을 통해 미디어 소스 형태 설정
.mediaType : import MobileCoreServices 후 사용
- KUTTypeImage : 카메라 사진 촬영 인터페이스 설정
- KUTTypeMovie : 카메라 동영상 촬영 인터페이스 설정
.allowsEditing : 사용자가 애플리케이션에 전달하기전에 편집할지에 대한 여부 설정 - Boolean

UIImagePickerController 델리게이트 구성 : 사용자가 카메라와 포토 라이브러리를 사용할때 애플리케이션에 이벤트 호출
[ 프로토콜 지정 ]
UIImagePickerControllerDelegate
UINavigationControllerDelegate

[ 델리게이트 메서드 ]
didFinishPickingMediaWithInfo : 사용자가 미디어를 선택하거나 새로 만든 경우 호출
- info : 새로 만들어지거나 사용자에게 선택된 사진이나 동영상과 관련된 정보를 담고 있는 NSDictionary 객체\
imagePickerControllerDidCancel : 사용자가 취소를 한 경우 호출

디바이스 지원 여부 판별 : UIImagePickerController의 isSourceTypeAvailable 클래스 메서드를 사용하여 확인
[ 메서드 ]
.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera) : 카메라 지원 판별
.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum) : 저장된 사진앨범 지원 판별
.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary) : 포토라이브러리 지원 판별

Movie와 이미지 저장 : 카메라로 사용자가 사진이나 동영상을 라이브러리에 저장하는 작업
[ 메서드 ]     
UIImageWriteToSavedPhotosAlbum : 사진저장
UISaveVideoAtPathToSavedPhotosAlbum : 동영상 저장
finishedSavingWithError : 성공이나 실패와 상관없이 액션이 끝나면 호출


참조 : http://avilos.codes/mobile/ios-swift/ios-swift-%EC%B9%B4%EB%A9%94%EB%9D%BCcamera/