전체 글(27)
-
lazy var 정리
이번에 미세먼지 앱을 만들어 보면서 lazy란 개념을 공부했습니다. 기존에 lazy라는 게 있다고 들어는 봤지만, 어떻게 쓰는지도 몰랐고 왜 쓰는지도 몰랐어요. 하지만 이번 기회에 왜 쓰는지 정리해보고 싶어서 공부를 시작해보았습니다. lazy는 초기 init시에 초기화되는 것이 아니라 호출될 때 생성이 되면서 메모리에 올라가며 이후 같은 변수를 사용 시 다시 초기화가 진행되지 않고 이전에 생성된 변수를 그대로 사용하더라고요. 또한 클래스나 구조체 내에서만 사용이 가능하다는 특징이 있었습니다. 아래는 예시 코드입니다 class Person { var name: String var age: Int // 초반 init때 생성되지 않음 lazy var info: String = { return "이름 : \(s..
2021.04.13 -
Swift로 미세먼지 앱 만들기
학교 과제로 미세먼지를 보여주는 프로그램을 만들라기에 자신감 있게 iOS를 선택했습니다! 할 줄 아는게 iOS밖에 없어서... 과제도 이왕 만드는김에 제대로 만들어보자라고 생각해서 앱의 장점인 현재 위치를 받아와 주변 측정소의 미세먼지 값을 쓰기로 했어요. 미세먼지 값을 받아오려면 네트워크 통신이 필수적이었고, 현재 위치를 알아내야 했습니다. 그래서 서버와의 통신 전, 서버의 요청값에 보내줄 현재위치를 알아 내기 위해서 CoreLocation을 사용했어요. // lazy로 선언하여 메모리 관리 lazy var locationManager = CLLocationManager().then { // 10미터 이내의 정확도로 설정을 하여 배터리 관리 최적화 $0.desiredAccuracy = kCLLocati..
2021.04.10 -
iOS 라이브러리 - KDCircularProgress
상벌점 조회 프로젝트를 진행하던 중 그래프를 그려야 할 일이 생겼습니다. iOS의 가장 대표적인 그래프 라이브러리인 Charts를 써봤지만 내가 하는 프로젝트의 디자인과 잘 맞지 않는 것 같았어요. 아래 사진과 같은 디자인을 맞춰주어야했는데, 마음대로 되는 게 아니더라고요. 그래서 제 맘에 맞는 라이브러리를 찾기 시작했고, 몇 번의 검색 끝에 제 마음에 드는 라이브러리를 찾을 수 있었습니다! Github : https://github.com/kaandedeoglu/KDCircularProgress kaandedeoglu/KDCircularProgress A circular progress view with gradients written in Swift - kaandedeoglu/KDCircularPro..
2021.02.26