iOS

· iOS
iOS 개발에 있어서 다양한 디자인 패턴을 잘 이해하고 활용하는 것이 중요하다. 디자인 패턴은 수많은 개발자들이 시행착오를 겪으면서 제시하는 하나의 패러다임이라고 볼 수 있다. 일반적인 패턴과 iOS는 약간의 차이가 있다. iOS의 입장에서 생각하는 MVC와 MVP 그리고 MVVM을 정리하겠다. 애플에서의 MVC 특징 View와 Model 간의 의존성을 낮추기 위해 서로 분리 시킴 장점 가장 단순한 형태 설계 및 구현이 쉬움 UIKit 개발에 최적화되어 있음 단점 ViewController 파일 하나가 View와 Controller의 역할을 모두 수행함 따라서 View와 Controller를 분리해서 구현하기 어려움 프로젝트 규모가 커질수록 ViewController가 비대해짐 그럴수록 유지 보수 및 협..
· iOS
앞선 포스트에서 다뤘던 MRC를 통해서 iOS의 메모리가 관리되고 있었고, Objective-C 2.0이 발표되면서 ARC와 GC이 등장했다. 시간이 지나면서 MRC는 사용할 수 없게 막혔고, GC 또한 deprecated되어 현재는 ARC 만을 메모리 관리 방식으로 사용할 수 있다. GC (Garbage Collection) 가비지 컬렉션은 이름 그대로 쓰레기를 수집하듯 런타임에 사용되지 않는 메모리를 쭉 찾아내서 해제시키는 방식이다. 가비지 컬렉션은 크게 두 가지의 매커니즘을 통해 수행된다. Stop the world Mark and Sweep 즉, GC를 수행하기 위해 나머지 모든 스레드의 수행을 일시 중단(Stop)하고 해제시키면 안되는 인스턴스를 모두 표시(Mark)한 후, 참조되지 않는 인스턴..
· iOS
iOS는 아이폰의 OS로 사용되면서 상대적으로 작은 메모리를 가진 아이폰에서 메모리 최적화를 하기 위한 방식이 필요했다. 그 중에서 iOS는 Reference Count를 통한 메모리 관리 체계를 사용하게 되었고, 이를 실현하기 위해서 개발자들은 참조 객체끼리의 레퍼런스 카운트를 직접 관리해주어야 했다. 이런 방식을 MRC(Manual Reference Counting)이라고 불렀다. MRC Swift 이전에 iOS 개발은 거의 Objective-C 언어를 통해 개발이 되고 있었다. MRC 매커니즘에서는 참조 타입의 객체가 alloc을 통해 생성되면, 초기화된 인스턴스는 그 인스턴스를 생성한 또 다른 객체에서 이미 참조가 되고 있기 때문에 RC가 1인 상태로 시작된다. 특정 인스턴스에 대해 지속적으로 참..
chicharios
'iOS' 카테고리의 글 목록