반응형

전체 글 229

[iOS, Swift] DocumentPicker 사용예제

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. DocumentPickerController에서 forOpeningContentTypes의 타입을 설정하고 초기화를 한 후 present로 pickerController를 띄어준다.설정된 타입은 png로 하였는데, png 파일만 선택이 가능하게끔 됩니다. import MobileCoreServices import UniformTypeIdentifiers @IBAction func didTapDocument(_ sender: UIButton) { let types = UTType(tag: "png", tagClass: UTTagClass.filenameExtension, conformingTo: nil) let doc..

iOS/코드조각 2023.02.20

[iOS, Swift] Left side of mutating operator isn't mutable: 'self' is imutable 오류해결

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. Struct 안에 있는 변수를 수정하려고 할 때 'Left side of mutating operator isn't mutable: 'self' is immutable' 과 같은 오류가 발생합니다. 해결방법으로는 함수 func 앞에다가 mutating 이라는 키워드를 붙이면 됩니다. struct LevelStruct { var level: Int = 0 { didSet { print("Level \(level)") } } mutating func levelUp() { level += 1 } } 참조 http://www.yes24.com/Product/Goods/78907450 https://stackoverflow...

iOS/오류해결 2023.02.18

[iOS, Swift] MapKit 사용하여 현재 위치 나타내기

iOS 16.1, Xcode 14.1, Swift 5, UIKit 환경에서 진행했습니다. 스토리보드에서 MapKit을 화면이 꽉차도록 설정합니다. Info.plist 파일에 위와 같이 3가지 설정을 해줍니다. import UIKit import CoreLocation import MapKit class ViewController: UIViewController { @IBOutlet weak var mapView: MKMapView! var locationManager: CLLocationManager = CLLocationManager() var currentLocation: CLLocation! override func viewDidLoad() { super.viewDidLoad() // Do any ..

iOS/코드조각 2023.02.16

[iOS, Xcode] 핸드폰에서 GPS 설정하기(gpx 파일)

iOS 16.1, Xcode 14.1, Swift 5, UIKit 환경에서 진행했습니다. 프로젝트에 GPX 파일을 추가합니다. GPX 파일의 형식은 위와 같이 되어있고, wpt태그 안에 있는 lat, lon 속성에서 값을 설정할 수 있습니다. XCode 아래에 있는 화살표 버튼을 클릭하여 위치 변경을 할 수 있습니다. 핸드폰에서 MapKit을 활용해 실행하면 위와 같이 좌표가 설정되어있는 것을 확인할 수 있습니다.

iOS/팁 2023.02.15

[iOS, Swift] 구조체와 클래스의 차이

구조체는 값 타입이고 클래스는 참조 타입입니다. 값 타입과 참조 타입이 다른 점은 값 타입을 넘긴다면 전달될 값이 복사되어 전달됩니다. 참조타입을 넘긴다면 참조(주소)를 복사하여 전달됩니다. 애플의 가이드라인에서는 다음 조건 중 하나 이상 해당된다면 구조체를 사용하는 것을 권장합니다. - 연관된 간단한 값의 집합을 캡슐화하는 것만이 목적일 때 - 캡슐화한 값을 참조하는 것보다 복사하는 것이 합당할 때 - 구조체에 저장된 프로퍼티가 값 타입이며 참조하는 것보다 복사하는 것이 합당할 때 - 다른 타입으로부터 상속받거나 자신을 상속할 필요가 없을 때

iOS/문법 2023.02.13

[iOS, Swift] DFS 전위, 중위, 후위 탐색

iOS 16.1, Xcode 14.1, Swift 5, UIKit 환경에서 진행했습니다. class Node { var nodeData: Int? var lt: Node? var rt: Node? init(value: Int) { nodeData = value lt = nil rt = nil } } var tree: Node = Node(value: 1) tree.lt = Node(value: 2) tree.rt = Node(value: 3) tree.lt?.lt = Node(value: 4) tree.lt?.rt = Node(value: 5) tree.rt?.lt = Node(value: 6) tree.rt?.rt = Node(value: 7) // 전위순회 func DFS_전위(root: Node?)..

iOS/알고리즘 2023.02.12
반응형