분류 전체보기
-
[Apple Dev Reference - Swift] Trailing Closures 클로져를 파라미터로 간단히 사용하기앱등이에게 살충제를 뿌린다./Apple Dev Reference 2016. 4. 26. 23:39
Trailing Closures함수의 파라미터로 클로져를 넣을 때가 있습니다. 그 중 함수의 파라미터 중 마지막 파라미터가 클로져일 경우에는 trailing closure로 코드를 적는 것이 더 편합니다. trailing closure란 클로져를 함수를 호출하는 부분의 바깥에 클로져를 적어주는 건데요, 아래 예를 보면 이해가 빠르실 듯 합니다. func someFunctionThatTakesAClosure(closure: () -> Void) { // function body goes here } // here's how you call this function without using a trailing closure: someFunctionThatTakesAClosure({ // closure's b..
-
[Apple Dev Reference - Swift] Generics (of Swift2.2)앱등이에게 살충제를 뿌린다./Apple Dev Reference 2016. 4. 24. 15:18
Generics제네릭 코드를 사용하면 좀 더 유연하고 재사용률이 높은 함수를 만들 수 있습니다. 제네릭을 통해 코드 중복을 방지할 수 있고, 함수의 역할을 좀 더 명백히 전달할 수도 있습니다. 제네릭은 Swfit의 가장 큰 강점 중 하나입니다. 수 많은 Swift라이브러리들이 이 제네릭을 사용하고 있습니다. 못 알아채셨을 수도 있는데, Swift 언어를 익히시는 동안 계속 제네릭을 사용해왔습니다. 예를 들어, Swift의 Array와 Dictionary는 둘 다 제네릭 컬렉션입니다. Array를 만들 때, Int타입 Array나 String타입 Array를 만들기도 하고, 또 여러분이 직접 만든 클래스 타입으로도 수 많은 종류의 Array타입을 만들어 보셨을겁니다. Dictionary에서도 유사하게 무수..
-
[Raywenderlich - iOS/Swift] Alamofire 사용하기앱등이에게 살충제를 뿌린다./iOS 2016. 4. 15. 00:34
Alamofire는 iOS와 OS X에서 사용하기 위한 Swift기반의 HTTP 네트워킹 라이브러리입니다. 애플의 네트워킹 파운데이션을 기반으로 많은 기능을 제공하고 있습니다. Alamofire는 reponse/request 메소드, JSON parameter와 response serialization, authentication 등의 기능을 제공합니다. 이번 튜토리얼에서는 파일 업로드나 RESTful API에서 데이터를 요청하는 작업과 같은 기본적인 네트워킹 작업에 대해서 소개합니다. Alamofire는 AFNetworking의 Objective-C코드를 전혀 상속하지 않고 모두 Swift로 새롭게 만들었다는 점에서 참 대단한 라이브러리입니다. 시작하기 전에, HTTP네트워킹과 NSURLSession이..
-
[Raywenderlich - iOS] NSURLSession 사용 가이드앱등이에게 살충제를 뿌린다./iOS 2016. 4. 11. 00:59
앱이 서버로부터 앱 관련 데이터를 받거나, 소셜 미디어의 상태를 업데이트하거나, 리모트 서버의 파일을 로컬에 다운로드 받거나,, 어떤 경우던지 HTTP 요청은 모바일 앱의 핵심이라고 할 수 있습니다. 수 많은 네트워크 요청을 하고자 하는 여러분을 위해 Apple에서는 NSURLSession을 제공하고 있습니다. 이 놈은 HTTP를 통해 컨텐트를 업로드하거나 다운로드를 하는 네트워킹 API를 완벽하게 아우르는 놈입니다. NSURLSession 튜토리얼에서는 NSURLSession을 사용하여 Half Tunes라는 앱을 만들어볼 것입니다. 이 앱은 iTunes Search API에 커리를 보내 특정 음악의 30초 미리듣기를 다운로드 하는 앱입니다. 최종적으로 완성한 앱에서는 백그라운드 전송과 사용자들이 다운..
-
weak property에 클래스 초기화구문을 대입하면 OOO. (안된다)앱등이에게 살충제를 뿌린다./iOS 2016. 4. 7. 18:39
let frame = CGRect(x: 0, y: 0, width: 100, height: 100) weak var myButton: UIButton! var myButtonNotWeak: UIButton! override func viewDidLoad() { myButton = UIButton(frame: frame) myButtonWithoutWeak = UIButton(frame: frame) }라는 코드가 있다고 할 때, myButton은 nil이 되고 myButtonWithoutWeak는 UIButton객체를 갖게 된다. 이게 왜 문제냐면.. 이 코드가 아래와 같았다면?let frame = CGRect(x: 0, y: 0, width: 100, height: 100) weak var myButt..
-
[Apple Dev Reference] Apple Push Notification Service앱등이에게 살충제를 뿌린다./Apple Dev Reference 2016. 4. 3. 23:05
Apple Developer 문서를 번역만 하였습니다. Apple Push Notification Service Apple Push Notification service(APNs)는 리모트 푸쉬시스템에서 가장 중요한 역할을 합니다. iOS, tvOS, OS X 디바이스에게 메시지를 발송하는 방법중 가장 효과적인 방법이기도 합니다. 각각의 디바이스는 APNs와 인증되고 암호화되어있는 IP연결을 하게되고 이 커넥션을 통해서 메시지 알림을 받게 됩니다. 앱이 실행중이지 않을 때 이 메시지가 도착하게 된다면 디바이스는 사용자에게 앱에 데이터가 도착했다는 것을 알려주게 됩니다. 여러분은 사용자들에게 발송할 메시지를 생성하는 서버를 구축해야 합니다. 이 서버는 Provider라고도 알려져있는데, 사용자들에 대한 정..
-
[Apple Dev Reference - Swift] Failable Initializer앱등이에게 살충제를 뿌린다./Apple Dev Reference 2016. 3. 30. 23:59
Apple Developer 문서를 번역만 하였습니다. Failable Initializers 가끔은 초기화가 실패할 가능성이 있는 클래스, 구조체, 열거형(enum)을 만드는 일이 유용할 때가 있습니다. 초기화 실패는 부적절한 초기화 매개변수 사용이나 필수적인 리소스가 없어서 발생할 수 있습니다. 초기화를 방해할만한 다른 요소들도 있을 수 있구요. 이런 초기화 실패를 적절히 대처하기 위해서 1개 이상의 Failable Initializer를 만들어 주세요. init뒤에 물음표()를 붙임으로써 Failable initializer를 만들 수 있습니다. Note : 같은 파라미터의 타입과 이름을 갖는 failable 과 nonfailable은 동시에 만들 수 없습니다. Failable Initializer..