-
App and Environment - UIKitiOS/🍎 Documentation 2021. 1. 26. 20:42
Life-cycle 이벤트와 앱의 씬들을 관리하고, 우리의 앱을 실행하는 `traits` 와 환경에 대한 정보를 얻을 수 있습니다. Overview iOS 13 과 그 이후 버전에서, 사용자는 우리의 앱의 UI 인스턴스를 동시에 다수 생성하고 관리할 수 있습니다. 그리고 `App switcher` 를 사용하여 인스턴스를 교체할 수 있습니다. 아이패드에서, 사용자는 양 옆에 우리의 앱의 인스턴스를 화면에 여러 개 띄울 수 있습니다. 각각의 인스턴스에서 UI 인스턴스는 다른 콘텐츠를 보여주거나, 같은 콘텐츠를 다른 방식으로 보여줄 수 있습니다. 예를 들어 사용자는 특정 날짜를 보여주는 Calendar 앱의 인스턴스와, 한 달 전체를 보여주는 앱의 인스턴스를 화면에 띄울 수 있습니다. UIKit 프레임워크는 ..
-
[Swift] DelegationiOS/🟠 Swift 2021. 1. 26. 09:35
Delegation 은 `class` 나 `struct` 가 자신의 책임 중 일부를 다른 타입의 인스턴스에게 위임 (hand-off or delegate) 하는 디자인 패턴입니다. 이 디자인 패턴은 위임된 책임을 캡슐화하는 프로토콜을 정의하는 것으로 구현할 수 있습니다. 그 결과로 프로토콜을 채택한 타입 ( 이 타입을 delegate 라고 부릅니다 ) 은 위임받은 기능들의 제공을 보장합니다. 즉, 위임한 타입 (delegating objcet) 의 기능을 위임받은 타입 (delegate) 이 제공합니다. Delegation은 다음과 같은 상황에 사용합니다: 1. 특정 action에 대한 반응을 하기 위해 사용되거나, 보통 ~Delegate 라는 이름을 가진 프로토콜입니다. 2. 소스의 타입을 알 필요없이..
-
Cocoa (Touch) 란iOS/🍎 Documentation 2021. 1. 25. 11:35
참고자료 : developer.apple.com `Cocoa` 는 OS X 에서 실행되는 앱을 개발하기 위한 도구인 Foundation 과 AppKit 프레임워크를 포함합니다. `Cocoa Touch` 는 iOS 에서 실행되는 앱을 개발하기 위한 도구인 Foundation 과 UIKit 프레임워크를 포함합니다. N O T E `Cocoa`는 Objective-C 런타임을 기반으로하고 NSObject 를 상속한 어떠한 클래스나 오브젝트를 가리키기 위해 보통 사용되었습니다. 추가적으로 `Cocoa` 혹은 `Cocoa Touch`는 프로그램에 입각한 인터페이스를 사용하는 앱 개발을 가리키기 위하여 사용되기도 합니다. 코코아 터치 기반 앱 개발 이라던가 The Frameworks Foundation 프레임워크는..
-
Bundle - FoundationiOS/🍎 Documentation 2021. 1. 25. 00:05
참고 자료 : developer.apple.com/documentation/foundation/bundle 찾아보게 된 이유 Apple 에서 제공하는 Food Tracker 앱을 구현하는 도중 @IBDesignable 을 사용하여 custom control을 Interface Builder가 실행할 수있게 해주었습니다. 그런데 Asset Catalog 에 저장한 이미지를 Interface Builder가 올바르게 불러올 수 있게 하려면 Catalog의 번들을 명시적으로 지정해주어야 한다고 합니다. 그래서 UIImage(named:) 대신 UIImage(named:in:compatibleWith:) 메서드를 사용하는데, 여기서 Bundle 의 개념을 몰라서 정리하게 되었습니다. Overview 디스크 내의..
-
Review of Implement a Custom Control (2) - Food TrackeriOS/🤖 App 2021. 1. 22. 19:05
Add Support for Interface Builder @IBDesignable Interface Builder는 view와 연결된 커스텀 코드에 대해서 전혀 모릅니다. 그래서 커스텀 코드를 반영하지 않은 채 인스턴스화하여 canvas에 그립니다. 커스텀 코드를 반영하게 하는 방법은 custom control code 앞에 @IBDesignable attribute 를 추가하는 것입니다. 이 Attribute 을 통해 Interface Builder 가 canvas에 view를 그릴때, 커스텀 코드를 올바르게 반영하여 그릴 수 있게 해줍니다. " This lets Interface Builder instantiate and draw a copy of your control directly in th..