분류 전체보기 261

<스위프트 프로젝트> 커스텀 뷰 만들기!

이 분 코드를 보고 해석하며 공부하는 중입니다. 감사합니다...... CardView 이 코드를 플레이그라운드로 돌려보면서 이해보려 하는데 //: A UIKit based Playground for presenting user interface import UIKit import PlaygroundSupport @IBDesignable class CardView: UIView { @IBInspectable var cornerRadius: CGFloat = 3 @IBInspectable var shadowOffsetWidth: Int = 0 @IBInspectable var shadowOffsetHeight: Int = 3 @IBInspectable var shadowColor: UIColor = .bla..

<스위프트 프로젝트> json parsing!!, swift5 쉽게 파싱하는 방법 , quicktype

공공api 받아오기 글에서 json parsing이 안되어 다시 작성한다. 여기 영상을 보고 전체적으로 공부하는 편이 좋겠다. codable에 대해 공부하려 하는데 글을 읽으니 진짜 기본적인 것만 일단 이해 된다. 내 코드가 안되는 이유는 내 추측에 내가 선언한 값이 없을 경우 위에서는 ?? "" 으로 nil인 경우가 없게 해주는 부분이 없어서 그런가 싶다. Course에 들어가는 json 인자가 [String : Any]로 타입 캐스팅 되어 넘어가야 된다. 사실 위에의 방법은 swift2,3 objc의 방법이라고 한다. 결국 여기 까지 해서 에러 메시지를 확인했다. public struct WeatherINF : Codable{ var rnSt: Int = 0 //강수형태 var wf: String =..

<스위프트 프로젝트> 뷰 컨트롤러에 테이블 뷰를 띄워 보자!

XIB?? 이게 더 초보용 이거 보고 성공했다 ㅎㅎ 근데 XIB가 뭔지 공부해야 될거 같다. 근데 이 글말고 다른 글에 정리 했는데, rowHeight를 바꾸는게 어려웠고, 많은 방법을 해봤는데 그중에 왜인지 모르겠지만 delegate로만 됬다. 언제 테이블 뷰를 사용하고 언제 콜렉션 뷰를 사용하나?, 콜렉션 뷰는 뭘 모아 놓은거지? 뷰를 모아 놓은건가.....??

<스위프트> CLGeocoder(), CLLocation(), MapView

참고 CLGeocoder()는 위도와 경도를 가져온다. CLLocation()은 ios 맵 디비에서 주소를 가져온다 함. 이게 풀 코드이다. 근데 위의 설명만으로는 이해하고 구현하기 어려워서 애플 문서를 좀 참고 했다.[https://developer.apple.com/documentation/corelocation/cllocationmanager] CLLocationManager Overview You use instances of this class to configure, start, and stop the Core Location services. A location manager object supports the following location-related activities: Tracki..

<스위프트> dispatchQueue , dispatchGroup

dispatchQueue 공식 문서 class DispatchQueue : DispatchObject dispatchQueue라는 객체는 메인 스레드나 백그라운드 스레드에서 업무를 직렬이나 병렬적으로 수행하도록 한다. 이제 큐에 업무들을 제출하는데 , 백그라운드 큐에 넣으면 시스템이 알아서 수행해준다. 그런데 각 태스크가 어떤 스레드에 의해 수행되는지는 알 수 없다함. (메인 스레드는 여기서 예외라는데, 그말은 우리가 무엇을 특정지어 수행하도록 할 수 있따는 건가?) 여기서 내가 할 수 있는건 동기적으로나, 비동기적으로 태스크가 수행되도록 할 수 있는데, 메인스레드에서는 동기적으로 하지 말라한다. 그러다 데드락에 걸릴 수 있다고. 위의 내용 밑으로 avoiding excessive thread creat..

<스위프트> class vs struct

1. struct gives me a free init and i need to define one for class 2. inheritance (classes support inheritance, while structs don't) 3. classes are reference types and struct are value types 이렇게 클래스에 의해 생성한 한 객체를 다른 객체에 할당하면 레퍼런스로 넘어간다. [https://devmjun.github.io/archive/Swift-StructVSClass] 음 이걸 보면 역시 지역변수는 스택에 저장되고 새로 생성되는 클래스의 인스턴스는 힙에 생긴다. 스위프트는 스태틱 메소드 , 클래스 메소드 두개가 동일한거 같다. [https://docs.sw..

<스위프트 프로젝트> 공공 api 받기

음 ... 왜안되지 Codable에 대해서 이해가 필요하다. 뭐 이건 나중으로 미루고 왜 시키는대로 했는데 안되는지 모르겠다. http://apis.data.go.kr/1360000/VilageFcstMsgService/getWthrSituation ?serviceKey=인증키(URL Encode)&numOfRows=10&pageNo=1 &stnId=108 이대로 했는데 안된다. 아래 처럼 뜸 This XML file does not appear to have any style information associated with it. The document tree is shown below. 인증키를 url encode하고 전체를 url encode해야되는건가? 그냥 인증키 위치에 \(key) 를 넣고..

<스위프트> dismiss : Viewcontroller dismiss

이 분이 가정한 상황도 그냥 재미로 보기 좋아 보인다. dismiss 자체에 대한 설명이다. presented vc인 자기 자신이 호출하면 presenting vc가 presented vc를 제거해 주는 일을 한다. 뷰컨을 제거하는 방법이다. push냐 present냐에 따라 다르다. 이쯤되니까 present와 push가 nav에 의하냐 아니냐 빼고 뭐가 다른지 궁금해진다..... 차이 봤는데 일단 느낌은 nav는 계속 해서 뭔가 화면이 이동할때 방향성 있게 스택에 누적된다는 측면에서 좋은거 같다. 그런데 present는 일회성으로 그냥 하나 띄우는 느낌? ㅋㅋ 이 느낌 밖에 모르겠따. ㅋㅋ present도 여러번 해도 될거 아니야 근데 ㅋㅋ