본문 바로가기
반응형

전체 글53

Swift 현재 위치 받아오기 (위도, 경도) CoreLocation을 이용하여 위치정보를 받아와 위도 경도를 알아낼 수 있습니다. 주석에 각 코드의 설명을 적어놓았습니다. Info.plist에 Privacy - Location When In Use Usage Description을 추가하여 Value 부분에 원하는 alert 문구 내용을 적어줄 수 있습니다. import UIKit import CoreLocation class ViewController: UIViewController, CLLocationManagerDelegate { var locationManger = CLLocationManager() override func viewDidLoad() { super.viewDidLoad() // 델리게이트 설정 locationManger.de.. 2021. 2. 14.
Swift delegate deinit 프로토콜을 생성하여 delegate 구현 시 프토콜 타입을 class로 하지 않으면 상호참조 문제가 생깁니다. 2021. 2. 10.
Swift IBOutlet weak strong 차이 스토리보드 뷰컨트롤러 뷰 위에 얹어져서 참조 카운트 +1 클래스 파일에서 코드 변수가 참조하므로 참조 카운트 +1 따라서 string으로 선언된 아웃렛 변수는 removeFromSuperview() 하여도 deinit(뷰 메모리에서 해제)되지 않습니다. -> 뷰컨트롤러 dismiss나 pop하면 deinit 됩니다 weak로 선언된 아웃렛 변수는 코드 변수에서 참조 카운트가 증가하지 않음으로 removeFromSuperview() 하면 deinit 됩니다. 2021. 2. 10.
Swift protocol extension 프로토콜 익스텐션 protocol Movable { } protocol Portable { func port() } extension Movable { func move() { print("move 실행") } } struct Human: Movable,Portable { func port() { print("port 실행") } } var man = Human() man.move() man.port() Movable 프로토콜에 extension을 하였습니다. 프로토콜에 extension을 이용하면 구현부분을 작성할 수 있습니다. struct Human: Movable,Portable { func port() { print("port 실행") } func move() { print("move 재정의") } } 프로토콜 e.. 2021. 2. 8.
Swift 이미지 @1x @2x @3x 아이폰 디바이스의 해상도에 따라 자동으로 이미지가 적용됩니다 ex) 50x50 (px) 사이즈를 표현하고 싶다면 50x50, 100x100, 150x150 이미지를 준비해야 합니다. testImage라는 이미지를 에셋 카탈로그의 x1, x2, x3 각 칸에 50x50, 100x100, 150x150 사이즈 이미지를 넣어주면 스토리보드나 코드에서 이미지 적용 시 testImage 명을 이용하면 디바이스 해상도에 맞는 이미지가 자동 적용됩니다. 에셋 카탈로그가 아니고 폴더로 이미지를 관리하신다면 testImage@1x, testImage@2x, testImage@3x 명으로 50x50, 100x100, 150x150 사이즈의 이미지를 관리해주면 됩니다. 즉, 고해상도 아이폰의 경우 50x50 (px) 사이즈.. 2021. 2. 5.
반응형