목록Programming (95)
Hello!! Kyle
클래스에서 선언한 변수에 접근하는 방법은 크게 2가지이다. self라는 지시어를 통한 접근과 '_'를 통한 접근이다. self라는 지시어를 통한 접근은 클래스에서 접근자를 이용한 접근이다. '_'는 클래스 내부에서 변수에 직접 접근하는 방법이다. 그렇다면 이 둘은 어떻게 다를까? self를 통한 접근은 property로 생성한 접근자를 통한 접근이다. 그래서 property에서 선언한..
KVC (Key-Value-Coding) KVC는 문자열을 이용해 property에 접근할 수 있게 해주는 기능이다. 접근자를 이용하지 않고 property의 이름인 문자열로 접근하므로, 객체간 의존성을 낮추고 결합도가 낮은 소프트웨어 개발을 할 수 있게 해준다. KVC를 구현한 메소드는 NSKeyValueCoding 프로토콜에 의해 정의되며, NSObject는 이 프로토콜을 impleme..
@property 클래스 내의 멤버 변수에 대하여 접근자를 생성한다. @property를 사용할 경우, 추가로 attribute를 부여할 수 있다. attribute들은 아래와 같다. '*'로 표시된 attribute는 선언하지 않아도 기본적으로 적용되는 attribute들이다.getter= : 접근자 중 getter의 메소드 이름을 정의한다.setter= : 접근자 중 setter의 메소드 이름을 정의한다.readw..
Complication은 복잡한 요소를 말하는 것으로 시계에서 시간을 가르쳐주는 페이스를 제외한 부속 화면 등을 얘기한다. watchOS2.0으로 업데이트되면서 Apple watch는 Complication을 지원하게 됬다. 사용자에세 간략한 정보를 신속하게 실시간(실제로는 사용자가 보는 순간)으로 업데이트하고 싶을 때 사용하면 좋다. 단, 여기서 중요한 것은 '간략한'이다. 데이터 처리 혹은 네트워크를 활용한 데이터 접근&..
Fastlane은 iOS 프로젝트에 관한 전반적인 관리 툴이다. Fastlane은 다른 여러 유틸과 연계되어 다양한 서비스를 제공한다. 그 중, 필자가 사용해봤고 유용한 툴 몇가지를 소개한다.*'sudo gem install [PACKAGE_NAME]'을 사용하여 설치할 때, El Capitan에서 권한 이슈에 부딪혀 설치가 안 되는 케이스가 발생한다. 이럴 때는 'vi ~/.gemrc'로 문서를 만들어 'gem: -n/usr-local/b..
watchOS 2.0 (이하 watchOS 2)이 릴리즈된지 벌써 4개월이 지났다. 이제서야 watchOS 2를 정리하는 나의 천성적 게으름을 핀잔하며 이 글을 시작하려 한다. 참고로 이 포스팅은 Apple에서 제공하는 Transition Guide와 Document를 기반으로 작성됨을 알린다. watchOS 1.0 (이하 watchOS 1)에 대한 전반..
Core Spotlight framework Spotlight는 검색 기반의 아이폰 사용의 중심에 있다. 특히 iOS9 이후로 Siri와 spotlight의 결합으로 개인 비서로서 기능이 강화됬다. iOS9 이후 Core Spotlight라는 API를 제공함으로써 개발자는 앱을 spotlight와 결합하여 Depp Link를 구현하는 등의 앱과 OS의 결속력을 높여 더 높은 차원의 UX를 제공할 수 있게 됬다..
NSUserActivity는 검색 결과나 핸드오프를 통하여 사용자가 앱을 사용하던 상태를 저장 복원하기 위해 사용하는 간편한 방법이다. 핸드오프 기능이 처음으로 제공된 iOS8에서부터 지원한다. 처음엔 iOS8에서는 핸드오프를 지원하기 위해서 추가되었다. 그런데 iOS9부터 각 상태를 indexing하여 spotlight 검색결과로 활용할 수 있도록 개선되었다. 먼저 핸드오프에서 사용하는 방법에 대해 말하고, spotligh..
SVN은 프로젝트를 공동으로 수행함에 있어서 없어서는 안 될 정도로 무지하게 편리한 개발툴이다. 여러 사람이 공동의 레파지토리에 소스코드를 등록하고 빼올 수 있을 뿐만아니라 코멘트도 달 수 있고 자동으로 버전관리도 해준다. 히스토리를 이용하면 자신이 원하는 리비전으로 되돌릴 수도 있으며 각 리비전 사이의 소스코드의 변화도 한눈에 알 수 있다. 그러면 이렇게 편리한 SVN을 사용하려면 어떻게 해야하는가?? 필자는..
애플에서 Swift를 오픈소스화 한다는 공약을 실천했다. 현재 레파지토리는 Github를 이용하고 있으며 담당 사이트로 Swift.org를 개설했다. 이슈 트래킹은 Jira를 이용한다. Mailing-list를 통하여 Swift의 변동사항과 개발 이슈/동향 등을 reporting 받거나 다른 개발자들과 소통 창구로 이용할 수 있다. 아래 Swift 관련 URL을 모아 놨다. 역시 애플에서 관리하는 프로젝트라서 Con..