레이블이 Swift인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Swift인 게시물을 표시합니다. 모든 게시물 표시

2016년 9월 13일 화요일

릴리즈 모드로 빌드한 앱이 죽는다

이 글은 튜토리얼이나 API소개글이 아니라 실제로 겪었던 일을 토로(?)하기 위한 글이다. 내용은 제목 처럼 릴리즈 모드로 빌드한 앱을 돌려보면 죽는다는 것이고 이를 해결하기 위해 거친 고난과 해결법에 대해 소개한다.

2016년 9월 6일 화요일

[Cocoa] 타이틀바는 없지만 툴바에 표준 버튼이 있는 윈도우 만들기

뭔가 제목이 좀 복잡한 감이 있는데, 영문으로 적으면 Unified Title and Toolbar 라는 형식의 윈도우를 만드는 방법에 대한 글이다. 내용 자체는 매우 간단한데 이번엔 영상으로 (콩글리쉬와 함께 -_-) 만들어봤다.

2016년 8월 9일 화요일

NSPopover Cheatsheet

NSPopover는 말풍선 모양의 팝업윈도우 컴포넌트이다. 미려한(?) UI를 구성하는데 필수적이기 때문에 정리해 본다.


2016년 7월 20일 수요일

Xcode 8 Beta 로 겪어보는 Swift 3 의 변화들

지금까지는 Xcode 의 각 베타가 나올 때 마다 변화점들을 기록하곤 했는데, Swift 가 오픈소스화 된 지금은 이런 변화를 매번 캐치할 필요는 없을 것 같다. 무엇보다, Swift 문법(Syntax) 자체의 변화를 정리할 필요도 없이 아래 사이트를 보면 Swift 3 의 변화점을 알 수 있다.

https://swift.org/blog/swift-3-0-preview-1-released/

3.0 의 변경점은 더 이상 일어나지 않고 이제 4.0 을 개발한다고 선언까지 된 상태이니 이제 기정사실이 된 변화점들이다.

이렇게 정리가 잘 된(?) 글들이 있으니 이제 내가 할 일은 그냥 체감하는 것 뿐인것 같다. 그래서 실제로 체감(?)해 보고 느낀 것들을 정리해 본다. 물론 이번 글이 전부는 아니겠지만...

2016년 7월 19일 화요일

NSTask 와 NSPipe 를 이용해 쉘 커맨드 실행시켜서 결과 얻어오기

과연 이 내용이 현대(?)시대에 필요할지에 대해서 의문이 있을지도 모르겠지만 아직까지는 터미널 유틸리티의 특수성(?) 때문에 종종 쓰이고 있다고 생각된다. 그래서 이에 대해 정리해 본다.

2016년 5월 31일 화요일

NSView Cheatsheet

기존 NSView에 관한 잡지식(?)과 기존 글들을 한데 모은 글이다. 이 글은 지속적으로 업데이트 된다.

2016년 5월 20일 금요일

Container View Cheatsheet

컨테이너 뷰(Container View)는 별도의 클래스가 아니라  그냥 NSView 타입이다. 단지 인터페이스 빌더에서 이런 이름으로 특수하게 제공되는 기능 중 하나이다. 이 글의 내용은 개인적인 문제 해결 기록을 정리한 것이다.

2016년 5월 19일 목요일

NSSplitView and NSSplitViewController Cheatsheet

NSSplitView 그리고 NSSplitViewController를 사용하면서 겪거나 필요한 내용을 정리한다. 기본적으로 NSSplitViewController 가 대상이다. 이 글은 지속적으로 업데이트 될 수도 있다.

2016년 5월 18일 수요일

NSOutlineView Cheatsheet

NSOutlineView 에 대해 겪거나 필요한 내용을 정리한다. 이 글은 계속 업데이트 될 수 있다. 기본적인건 NSTableView 와 비슷하니 참고하자.

2016년 5월 17일 화요일

NSTableView Cheatsheet

NSTableView 에 대해 개인적으로 겪거나 필요한 내용을 정리했다. 이 글은 지속적으로 업데이트 될 수도 있다.

2016년 5월 11일 수요일

Swift - Assertion과 컴파일 최적화

assert() 라는 함수는 C언어 시절 부터 예기치 못한 에러를 잡기 위한 무기(?)로써 활용되어 왔다. 문제가 생길 것 같으면 일부러 자살(?)하기 위한 무기가 바로 assert()이다.

2016년 4월 27일 수요일

2016년 4월 20일 수요일

Swift - @noescape 너 정체가 뭐냐

예전에 Swift 1.2 변동사항에 대해 쓰면서 뭔지 잘 모르고 넘어갔었는데 갑자기 궁금해져서 그 정체를 찾아보기 시작했다. (참고로 현재 Swift 최신 안정 버전은 2.2 이다 -_-) 이번 글은 바로 이 @noescape 속성에 관한 내용이다.

2016년 4월 6일 수요일

Swift - 언제 class 대신 struct 를 사용하는가

Swift 언어 포럼에서는 struct와 class의 차이와 이를 언제 쓰는게 좋냐라는 주제에 대해 자주 토론이 되는 것 같다. 개인적으로도 관심이 많은 편이다보니 좀 정리가 필요할 것 같다는 생각이 들었다.

2016년 3월 23일 수요일

Swift 2.2 에선 뭐가 바뀌었나

Xcode 7.3과 함께 Swift 2.2도 함께 정식으로 릴리즈 되었다. 요즘엔 공식사이트도 생기고 오픈소스화 되면서 변경 내역을 접하기가 쉬워지고 정리도 잘 되어 있어서 이런 글을 적는게 의미가 있나 고민되기는 하지만, 그래도 복습하는 겸 정리해본다.

2015년 12월 17일 목요일

Swift - GCD 세마포어(Dispatch Semaphore)

세마포어도 병렬 프로그래밍 동기화를 위한 전통적인 기능 중 하나이다. GCD(Grand Central Dispatch) Dispatch 에서도 세마포어가 제공되기에 이를 간단히 살펴보고자 한다.

2015년 12월 10일 목요일

[iOS] 여러 스토리보드에서 시작점을 고르기

제목이 좀 뜬구름 잡기인 듯 한데 좀 더 쉽게 풀자면 이렇다:
  1. 프로젝트에 스토리보드가 두 개다. 이 중 하나는 튜토리얼용으로 앱 시작 시 한번만 보여줄 것이다. 이걸 스토리보드 하나로 만드면 너무 복잡해서 나눈 것이다.
  2. 앱 시작 시 특정 조건의 경우에는 튜토리얼용 스토리보드의 UI로 시작해야 한다.
  3. 그런데 어떻게 해야하지?
그냥 딱딱하게 설명할까 했지만 이번엔 좀 수고를 들여서 메모를 만들어 본다 -_-;

2015년 12월 4일 금요일

2015년 11월 19일 목요일

Swift - 순차적 타입(Sequence Type) 만들기

Sequence Type의 대표적인 예는 배열(Array)이 있겠다. 하지만 정확히 말하자면 배열 처럼 고정인덱스를 가진 타입이 아니라 그냥 순차적인 리스트 정도가 딱 어울리는 표현이다. 다르게 표현하자면 이터레이션(Iteration), 즉 나열 가능한 타입이다. 어쨌든 이런 타입을 만드는데 필요한 SequenceType 프로토콜에 대해 알아보자.

2015년 9월 1일 화요일

[iOS] 앱 설정 띄우기

이 글은 앱의 설정창을 코드로 띄우는 방법에 대한 메모이다.

참고로, 설정(Preferences)를 띄우신 띄우지만 앱 개별 설정으로 바로 들어가게 되는 방법임을 유의하자. 그리고 이 방법은 iOS 8 버전부터 사용이 가능하다.