반응형

메모리 5

[iOS, Swift] 싱글턴 구현

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. class UserInfo { static let shared = UserInfo() private init() { } } 싱글턴 패턴은 객체지향 디자인 패턴 중 하나로, 어떤 클래스가 최대 1개의 인스턴스만 가지고 있도록 보장하는 것입니다. 이를 통해 객체의 생성과 파괴가 지나치게 빈번하게 일어나지 않도록 하고, 메모리 사용량을 줄이는 등의 이점을 얻을 수 있습니다. 위의 코드 조각에서는 UserInfo 클래스를 싱글턴으로 구성하였습니다. static let shared를 이용하여 UserInfo 클래스의 인스턴스를 단 하나만 생성할 수 있도록 하였고, private init()으로 객체 생성을 외부에서 할 수 ..

iOS/코드조각 2023.03.23

[Library, Metal] vertex를 index로 메모리 절약하기

iOS 16.1, Xcode 14.1, Swift 5, Playground 환경에서 진행했습니다. 기존에 삼각형을 그리려면 변수를 저장하여야하는데, 수많은 삼각형을 그리게 되면, 겹치는 꼭지점이 무수히 많아 메모리가 낭비될 것입니다. 그리하여 겹치는 부분은 제거하고 같은 꼭지점은 index로 접근하는 방법이 있습니다. let vertices: [Float] = [ -1, 1, 0, -1, -1, 0, 1, -1, 0, 1, 1, 0 ] let indices: [UInt16] = [ 0, 1, 2, 2, 3, 0 ] indices에서 첫번째 줄 0, 1, 2는 vertices[0], vertices[1], vertice[2]의 지점을 사용한다는 의미입니다. indices 두번째 줄 2, 3, 0은 vert..

iOS/라이브러리 2023.02.03

[iOS, Swift] 객체의 메모리 주소 찾기

iOS 16, Xcode 14.01, Swift 5, UIKit 환경에서 진행했습니다. func address(of object: UnsafeRawPointer) -> String { let address = Int(bitPattern: object) return String(format: "%p", address) } var dog: Animal = Animal() // 객체 선언 및 초기화 address(of: &dog) 객체가 어느 메모리를 할당하고 싶은지 찾고 싶을 때 위와 같은 함수와 호출을 통해 메모리 주소 값을 확인할 수 있다.

iOS/코드조각 2022.11.23
반응형