월요일, 7월 23, 2018

[Xcode / Swift] ViewController간 데이터 교환하기

ViewController간에 데이터를 보내는 방법이다. 시작 FirstViewController.swift 첫 화면은 아래와 같이 설정되었다(storyboard 왼쪽의 작은 화살표는 시작 화면을 의미). Class 이름은 미리 FirstViewController로 수정해놓았다. 혹 Class 이름을 변경하다 Outlet과 UI Element들의 연결이 끊어진 경우가 생겼다면 아래...

[Xcode / Swift] ViewController 이름 변경 시 유의사항

Swift Project를 처음 만들었을 때, 기본적으로 생성되는 ViewController의 이름을 수정할 때의 유의사항이다. 보통, ViewController Class 이름과 .swift 파일의 이름은 기본적으로 잘 바꾼다. 하지만 ViewController의 Custom Class를 설정해주지 않으면 UI Element가 ViewController와...

[Xcode / Swift] libpd, PdDispatcher를 활용한 Pure Data Listener 구현

Pd-0.48-1(Vanilla)를 사용하여 아래와 같이 구현된 click 사운드 2의 Sequence와 Count를 받는 방법. Listener를 구현하여 받는 방법이고, 아래 코드는 cheetomoskeeto Youtube Page를 참조. PdDispatcher를 활용하여 Message를 받으려면 아래와 같은 작업을 요한다. libpd 헤더 파일과 본인의...

[Xcode] Build > Archive가 회색으로 클릭이 안되는 경우?

Build > Archive가 dimmed되어 클릭이 안되는 경우는 Running Target이 물리적 Device(아이폰 혹은 아이패드) 혹은 Generic iOS Device가 아니기 때문이다. Target만 수정해주면 아래와 같이 Archive 기능을 수행하실 수 있다. 문제 ) Simulator로 구동할 경우 해결...

Swift에서 쓰이는 쌍따옴표 안 변수/상수 호출 “()” 단축키 만들어서 사용하기

"" 안에서 변수 값을 호출하는 코드 작성 시, 쓰이는 () 표현은 아주 빈번하게 사용되는 표현입니다. 필자는 매번 쓸 때마다 , shift + 9, shift + 0 을 하기가 짜증나서 단축키를 만들어서...

Xcode 시작 화면 다시 가져오기 | Welcome to Xcode

처음 Xcode를 열 때, Show this window when Xcode launches 항목을 체크 해제 했다면, 아래와 같은 화면은 더 이상 보실 수 없습니다. 복귀를 원하신다면, 아래 메뉴를 선택하시고 다시 복귀하시기 바랍니다. Xcode...

[Xcode / Swift] 날짜와 시간 다루기 | Date() DateComponents()

현재 시점의 날짜와 시간 구하기 Swift 개발 문서에 따르면, Date는 어떠한 달력과 Time Zone과는 독립적인 특정 시점의 시간 포인트이다. Date Class를 생성함으로 인해서 우리가 바로 구할 수 있는 값은 다음과 같다. init() //...

[Xcode / Swift] 열거형 rawValue과 암시적 맴버 표현으로 인한 생략(.)| Enumeration, rawValue

Enumeration은 열거형 자료형 표현으로 기타 다른 언어들에서도 쉽게 찾아볼 수 있는 친구이다. 뭐든 공식 문서를 찾아 보는 것이 좋으니, 아래 공식 문서의 정의를 살펴보자. "열거형은 관련된 값의 그룹에 대한 공통 유형을 정의하며...

[Xcode / Swift] Type Casting(형변환) 관련 | is, as, as?, as! 차이점

형변환은 Instance의 타입을 확인하거나, Instance를 superclass 혹은 subclass로 취급하여 처리하기 위해 필요한 작업. Type casting is a way to check the type of an instance, or to treat that instance as a different...

Xcode의 Playground 자동 실행 막는 방법 및 단축키 설정

Xcode의 Playground의 실행 관련 기본 설정은 "Automatically Run"입니다. 즉, 코드가 조금이라도 변경되고 키보드 입력을 멈추는 순간 자동으로 구동되어 버립니다. Test 코드의 길이가 짧으면 크게 관련 없지만, 코드가 길어지거나 현재 메모리를 많이...

[Xcode / Swift] if 문의 여러가지 형태 | Conditional Statement

Swift의 간단한 if문, 같은 동작을 하는 코드를 2가지 형태로 변환 및 또 다른 한가지 경우. 우리가 일반적으로 처음 접하는 if 문의 모습. a값이 1과 같으면 b에 2 할당 let a :Int = 1 var...

[Xcode / Swift] 연산자 우선 순위 및 몇가지 연산자

연산자 우선 순위 Swift에 있는 연산자들의 우선 순위는 다음과 같다. 위에서부터 아래로, 왼쪽에서부터 오른쪽으로  (), , . , -> sizeof, &, *, +, -, ~, !  *, /, % +, – <<,...

[Xcode / Swift] If let 구문은 어떻게 동작할까?| Optional Binding

Optional Binding Swift 언어에서 자주 보이는, 아래와 같은, If let 구문이 동작하는 흐름에 대한 설명. var optionalName: String? = "John Appleseed" var greeting = "Hello!" if let name = optionalName { greeting = "Hello,...

[Xcode / Swift] Could not insert new outlet connection 해결

문제 Class 이름이 정확하게 명시 되었음에도 불구하고 아래와 같은 오류 메세지와 함께 Outlet이 삽입되지 않는 경우. Could not insert new outlet connection: Could not find any information for the class named 원인 정확한 원인이 무엇인지...

[Xcode / Swift] tableView의 DataSource ViewController와 연결하기

TableView와 ViewController을 연결하는 과정에서 아래와 같은 오류 메세지가 나오면서 TableView가 ViewController와 연결되지 않은 문제가 있어 이 글을 씀. '-: unrecognized selector sent to instance 0x7fe601d20650' 오류의 문제점 필자의 경우, delegate 부분을 제외하고 dataSource만 View...