Message Dispatch Objective-C 는 클래스의 메소드가 프로퍼티를 호출할 때 해당 객체에 메시지를 보내는 방식으로 구현되어 있습니다. 그리고 이 과정이 런타임 시에 일어납니다. 이것이 message dispatch 입니다. 즉, message dispatch 는 dynamic dispatch 의 일종입니다. message dispatch 는 오버라이딩하거나 새로 정의한 메소드들만 테이블에 유지합니다.(swift 의 dynamic dispatch 는 모든 메소드에 대한 포인터를 해당 클래스가 가짐.) 대신, 부모 클래스로의 포인터를 가지고 있기 때문에 상속받은 메소드들을 찾아갈 수 있습니다. 대신 Swift 는 이런 기능을 자체적으로 제공하지 않기때문에 message dispatch 를 ..
본 포스팅은 ‘프로그래밍 오브젝티브-C 2.0’ 을 읽으며 실습한 코드와 내용, 추가적으로 궁금한 내용을 정리한 글입니다. 내용 카테고리를 사용하여 모듈 방식으로 클래스에 메서드를 추가하는 방법 익명 카테고리를 통해 클래스 확장(Extension) 추가하는 방법 메서드의 표준화된 목록 만드는 방법 카테고리 카테고리는 클래스 정의를 그룹짓거나, 연관된 메서드를 카테고리로 쉽게 모듈러화 할 수 있게 해준다. 또한, 원본 소스 코드에 접근하거나 서브클래스를 생성하지 않고도 기존의 클래스 정의를 확장하는 방법도 제공한다. 그렇기 때문에 클래스 정의에 새 메소드를 추가하고 싶을 때나 프로젝트에서 서브클래스를 작성하고 새 메소드를 구현할 수 있지만 더 쉽고 강력한 방법이 바로 카테고리이다. Fraction 클래스에..
카테고리를 생성했는데 다음과 같이 인터페이스 위아래로 매크로가 있었다. 무엇일까? // Fraction+MathOps.h #import "Fraction.h" NS_ASSUME_NONNULL_BEGIN @interface Fraction (MathOps) @end NS_ASSUME_NONNULL_END Swift 가 등장하면서 Swift 의 null 의 호환성을 위해서(Objective-C 에서는 nil 이라고 합니다.) Xcode 6.3 부터 Objective-C 에 nullability 라는 것이 추가되었습니다. Swift 에서는 ? 를 통해 옵셔널을 표시하는데 컴파일러는 Objective-C 에서 해당 변수가 옵셔널인지 논옵셔널인지 알 수 있는 방법이 없기 때문이죠. 예를 들어, NSView 와 N..
이 글은 ‘오늘도 개발자가 안 된다고 말했다’ 책을 읽고 내용과 느낀 점을 정리한 것입니다. 👉 가깝고도 먼 개발자 새로운 업무를 받을 때 항상 내 진행상황과 나의 업무의 강도와 일정에 대해서 파악하고 정리하기. 타 파트에서 새로운 업무를 내려줄 때 내 진행상황에 대해서 모른다면 올바르게 거절할 수도 수락할 수도 없다. 거절할 때는 근거가 될 것이고 수락할 때는 내 상황에 새로운 업무를 적용할 수 있는 기회를 줄 것이다. 거절할 때 상대방이 이야기할 수 있는 기회를 충분히 주고, 끝까지 경청한다. 그 후에 거절할 때는 대안을 제시한다. 협업을 위해 필요한 자세 목표를 공유하기. 개발할 때 생길 수 있는 변수와 리스크와 대안에 대해서 의논하기 다른 업무 이해하기 👉 기획자의 일 협업에서 중요한 한 가지는 ..
Method Dispatch method dispatch 는 Swift 에서 메서드를 호출할 때 현재 메모리에서 어떻게 어떤 메소드를 실행시킬지를 결정할때 사용하는 방법입니다. 클래스의 dispatch 과정을 예시를 들어봅시다. class Animal { func bark() { print("bark!") } } class Cow: Animal { func bark() { print("moo!") } } class Dog: Animal { } let animal: Animal = Animal() animal.bark() let cow: Animal = Cow() cow.bark() let dog: Animal = Dog() dog.bark() 인스턴스 animal, cow, dog 가 bark() 메소드..
* 본 포스팅은 ‘프로그래밍 오브젝티브-C 2.0’ 을 읽으며 실습한 코드와 내용, 추가적으로 궁금한 내용을 정리한 글입니다. 내용 변수의 범위, 객체의 초기화 메서드, 데이터 형에 대해 상세히 알아보자 Objective-C 컴파일러의 지시어를 사용하여 인스턴스 변수의 범위 조작 정적 변수, 전역 변수, 외부 변수 열거(enumerated) 데이터 형 typedef 1. 객체 초기화 객체를 초기화하고 나서 초깃값을 설정할 수 있다. // Initializes a newly allocated array by placing in it the objects contained in a given array. myArray = [[NSArray alloc] initWithArray: myOtherArray]; i..
What's new in App Store Connect - WWDC22 - Videos - Apple Developer 본 글은 WWDC 를 보고, 번역 및 요약 그리고 실행해보는 스터디 프로젝트의 일환입니다. 소개하기 App Store Connect API - Apple Developer app store connet 는 지난 몇 년간 성장하여 app store 의 모든 플랫폼에 걸쳐 앱을 생성하고, 관리하며 확장할 수 있습니다. 또한 지속적으로 App Store Connect 의 새로운 기능을 웹, iOS, iPadOS app 그리고 App Store Connect API 에 추가하고 있습니다. 작년에 출시된 기능인 in-app events(앱 내 구입) 인 맞춤형 제품 페이지, Mac 용 ..
What's new in UIKit - WWDC22 - Videos - Apple Developer 본 글은 WWDC 를 보고, 번역 및 요약 그리고 실행해보는 스터디 프로젝트의 일환입니다. UIKit 은 앱을 관통하는 강력한 프레임워크입니다. iOS 16 의 새로운 기능을 지원하기 위해 업데이트했습니다. 생산성을 위한 UI 개선, 컨트롤 개선 사항, API 개선 사항, UIKit 와 SwiftUI 를 함께 사용하는 방법에 대해서 이야기하겠습니다. 1. Productivity Improvements 깔끔하고 눈에 띄는 사용자 인터페이스를 디벨롭하기 위해서 UIKit 에서 다음과 같은 것들을 쉽게하도록 만들었습니다. 개선된 navigation bar 와 새로운 title menu 의 기능 find ..
- MVVM
- urlsession
- containerBackground
- Firebase
- Algorithm
- Notification
- UserDefaults
- OpenSourceLibrary
- APNS
- WWDC22
- rxswift
- SwiftUI
- Swift
- CloneCoding
- configurable widget
- MOYA
- Protocol
- 2022 KAKAO TECH INTERNSHIP
- IOS
- watchOS
- projectsetting
- RxCocoa
- github
- WidgetKit
- Objective-C
- async/await
- WWDC
- Widget
- YPImagePicker
- 서버통신
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Total
- Today
- Yesterday