반응형

iOS/코드조각 121

[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

[iOS, Swift] 앱 내의 파일 확인하기 (FileManager)

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다 FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] 위의 코드 위치에다 파일을 저장하게 되면 앱 내의 폴더에 이미지나 비디오가 저장이 된다. 그런데 저장만 하고 info.plist 파일에 설정을 안 해주면 아이폰에서 확인이 불가하다. info.plist 설정을 추가하자 Supports opening documents in place - YES Application supports iTunes file sharing - YES

iOS/코드조각 2022.10.24

[iOS, Swift] 화면 세로로 고정하기

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. 개발 핸드폰 설정을 화면전환이 안 되게끔 설정해놓아 개발 당시에는 몰랐었는데, 다른 핸드폰으로 사용을 해보니 화면이 전환되며 짜놓은 Layout이 아닌 다른 상태로 바뀌었다. 그리하여 아래와 같은 코드와 설정을 바꿔주어 화면전환이 안 되게끔 설정을 했다. AppDelegate.swift에서 supportedInterfaceOrientationFor 함수를 만든다. bebelucy - target - Info 화면에서 Supported Interface orientations 설정에서 Landscape 부분을 삭제한다. 위의 설정을 변경하여 iPhone은 화면전환이 안 되었지만, iPad에서는 화면전환이 안 되어서 ..

iOS/코드조각 2022.10.18

[iOS, Swift] 아이폰, 아이패드 디바이스 확인방법

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. iPhone과 iPad 코드를 구분하기 위해 아래와 같이 UIDevice Extension을 통하여 현재 빌드되는 기기가 iPhone인지 iPad인지 구분을 할 수 있다. import UIKit extension UIDevice { public var isiPhone: Bool { if UIDevice.current.userInterfaceIdiom == UIUserInterfaceIdiom.phone { return true } return false } public var isiPad: Bool { if UIDevice.current.userInterfaceIdiom == UIUserInterfaceIdiom...

iOS/코드조각 2022.10.18

[iOS, Swift] NSLayoutConstraint Multiplier 수정하기

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. NSLayoutConstraint의 multiplier 값을 변경하려고 보니 Only-get으로만 값을 받을 수 있고, 값을 설정할 수가 없었다. 그래서 구글링을 해본 결과 스택오버플로우에서 Constraint 값을 제거하고, 새로운 Constraint를 설정해줄 때 multiplier 값을 변경하여 등록해주는 코드를 발견했다. 밑의 코드를 참고하면 된다. import UIKit extension NSLayoutConstraint { func setMultiplier(multiplier: CGFloat) -> NSLayoutConstraint { NSLayoutConstraint.deactivate([self]) ..

iOS/코드조각 2022.10.18
반응형