iOS/Objective-C 8

[Objective-C] Objective-C의 block과 Swift의 closure

Q. Objective-C의 block과 Swift의 closure의 각 정의와 공통점, 그리고 차이점을 설명해 줘 A. Objective-C의 Block과 Swift의 Closure는 모두 코드 블록을 나타내는 기능입니다. Closure는 Swift에서 함수를 변수나 상수에 저장하거나 전달할 수 있는 기능입니다. Closure는 중괄호로 감싸진 코드 블록으로, 함수처럼 매개 변수와 반환 값이 있는 경우도 있고, 없는 경우도 있습니다. 예를 들어, 아래와 같은 Closure를 정의할 수 있습니다. let myClosure = { (a: Int, b: Int) -> Int in return a + b } 위 Closure는 Int 타입의 매개 변수 a와 b를 받아서, 두 매개 변수를 더한 값을 Int 타입..

iOS/Objective-C 2023.04.13

[Objective-C] atomic vs nonatomic

Q. atomic과 nonatomic에 대해 설명해 줘 A. 'atomic'과 'nonatomic'은 Objective-C의 프로퍼티 속성 중 하나로, 멀티 스레드 환경에서 객체를 안전하게 접근할 수 있는 방법을 제공합니다. 'atomic'은 멀티 스레드 환경에서 객체에 접근할 때, 해당 객체에 대한 접근을 원자적으로 처리하는 것을 의미합니다. 다시 말해, 하나의 스레드에서 객체에 접근하는 도중 다른 스레드에서 접근하려고 하면, 해당 스레드를 기다리도록 합니다. 이렇게 함으로써 하나의 스레드에서 객체에 대한 작업을 완전히 마칠 때까지 다른 스레드가 접근할 수 없도록 보호됩니다. 반면에 'nonatomic'은 멀티 스레드 환경에서 원자적으로 처리하지 않고, 다른 스레드에서 객체에 접근할 수 있습니다. 'n..

iOS/Objective-C 2023.04.12

[Objective-C] Objective-C에서의 메모리 관리

Q. Objective-C로 iOS 애플리케이션을 개발하는 과정에서 ARC가 적용된 시기는 iOS 버전 몇 때부터인지 알려줘 A. Objective-C에서 ARC(자동 참조 계산)는 iOS 5 이상에서 지원됩니다. 이전 버전의 iOS에서는 수동으로 메모리 관리를 해야 했습니다. 따라서 iOS 5 이전 버전에서 개발할 경우에는 수동으로 메모리를 관리해야 합니다. Q. 수동으로 메모리를 관리하는 Objective-C 코드를 보여줘 A. Objective-C에서 수동으로 메모리를 관리하기 위해서는 메모리를 할당할 때 'alloc' 메소드를 사용하고, 메모리를 해제할 때 'release' 메소드를 호출해야 합니다. 또한, 객체를 참조할 때는 'retain' 메소드를 사용해서 참조 횟수를 증가시키고, 참조를 해제..

iOS/Objective-C 2023.04.12

[Objective-C] Variables and constants / Paul Hudson의 Objective-C cheat sheet

1. Variables and constants (1) Variable (2) Constant (3) Variable array (4) Constant array (5) Adding a value type to an array (6) Dictionary (7) Enum (8) Appending a string (9) Adding to a number (10) String interpolation (11) Printing debug information 참조: https://www.hackingwithswift.com/articles/114/objective-c-to-swift-conversion-cheat-sheet Objective-C to Swift conversion cheat sheet Here..

iOS/Objective-C 2023.04.08