iOS 312

Sec13 152) 함수 리팩토링 (computed property)

Udemy Angela Yu 강의 내용 중 -- computed property var aProperty: Int { return 2+5 } 결국 aProperty는 2+5와 같음. 응용: Clima 프로젝트 중 struct WeatherModel { let conditionId: Int let cityName: String let temperature: Double //소수점 한자리까지만 표시 var temperatureString: String { return String(format: "%1f", temperature) } } WeatherManager.swift 파일 내에서 let weather = WeatherModel(conditionId: id, cityName: name, temperatu..

Sec13 149) Networking - URL Session

Your App -----------> Web Server Request (API 규약에 의해) Query(i.e. city name) 로서 보낸다 Void) // 4. Start the task task.resume() } } completionHandler 안에는 함수가 들어간다. ( ) 괄호가 있고 Void라는 반환값을 가지는 것에서 함수라는 것을 알 수 있다. data를 서버로부터 받아오는 동안 앱은 가만히 있을 수 없기 때문에 그동안 completionHanlder 부분을 수행한다. (completion 되면 그에따라 이 함수가 실행됨) safe data인 경우에만 dataString 으로 print가 됨. let task = ~~ 부분이 실행될 때, task가 trigger되어 handle()..

Section13. 145) Protocol

Section13. 145) Protocol 17분 12초 Protocol class Bird ->Eagles :CanFly ->Penguins struct Airplane :CanFly Protocol: 마치 자격증과 같은거. Bird - layEggs(), .... 안에 함수가 여러개 있으나 이걸 Penguins이 그대로 상속받을 경우 날지 못하는데 fly함수까지 받아버리므로... 이런 경우 penguins 의 기능에 해당하는 함수들을 Bird안에 구현해서 CanFly는 따로 프로토콜로 채택해주는 식으로.

Section13 144) UITextField keyboard "go"클릭시 실행

Section13 144) UITextField keyboard "go"클릭시 무언가를 실행하고 싶다면??? UITextFieldDelegate 연결 (UITextFieldDelegate) viewDidLoad에서 searchTextField.delegate = self 의 의미? textfield가 여기에서 일어나는 일을 ViewController에 보고한다. ex) 사용자가 탭을 했어 , 무언가를 지우고 있어 등등 위의 self는 VC를 의미함. keyboard "go"클릭시 실행 go 클릭시 또는 searchButton 클릭시 keyboard 내리기 searchTextField.endEditing(true) Delegate is being notified. Delegate는 항상 노티를 받는다. T..

Section13. 143) 다크모드 및 벡터 Assets 작업.

Section13. 143) 다크모드 및 벡터 Assets 작업. 벡터이미지: 확대하면 픽셀화 되지 않는다. 수학적으로 각각의 위치를 계산하기 때문에. 아무리 확대해도 항상 선명하게 유지된다. 벡터이미지 사용시 -> 1x,2x,3x 사용할 필요 없어짐. light_background.pdf를 Assets로 드래그 & 드롭. 벡터이미지로 활용할 것이므로 오른쪽에 Preserve Vector Data 체크표시 & 밑에 scales 를 individual scales (1x, 2x, 3x) -> Single scale로 바꾸기 그러면 아래처럼 바뀜. 그리고 다크모드 지원하고 싶은 경우 오른쪽에서 Appearances: Any,light,dark로 바꾸면 됨.

ios swift) 테두리 둥글게 - clipsToBounds

https://songios.tistory.com/43 [iOS] clipsToBounds 란 무엇인가? (feat. 모서리를 둥글게 둥글게) 막연하게 cornerRadius를 주기 위해 필요한 것. 정도로 알고 있던 clipsToBounds. 그런데 이 설정을 주더라도 모서리 둥글게가 먹히지 않을 때가 있어서 이건 정확히 뭘까 궁금했는데, 주말을 맞은 김에( songios.tistory.com clipsToBounds 위 블로그 요약> snapkit stackview에 여러개의 뷰를 넣을 때 유용한 것으로 판단. view 안에 다른 view가 들어가는 경우, 바깥 view에다가 clipsToBounds를 주게 되면 바깥 뷰가 둥글게 깎이고, 안 view에다가 clipsToBounds를 주게 되면 안에 ..

[SLP 개발일지] 공개용

Day1 2022-11-07 [ 개발 내용 ] 1. 프로젝트 기본 세팅 (그룹, 뷰 생성 + 기본 Color Extension 세팅 + BaseVC/BaseView 생성 ... 등) 2. Onboarding (3pages) : CollectionView + Pagecontrol로 구성. [ 의문점 & 해결점 & 미해결된 부분 & 고려할 지점 ] Q. 디자인을 반영하는게 생각보다 어렵다. 모든 기기에 대응해야할건데, 과연 고정값으로 해결될 일인가? A. 고정값(절대적 수치)만 사용하는 거 아님. + 비율로도 해도 됨. 예를 들어 확인 버튼의 경우, 1) 여백을 16 고정값으로 잡거나, 2) 90% 의 너비로 하겠다. 이런식으로 사람마다 방법이 다름. 어떤 device 에서도 깨지지 않게 만든다. 는 대정의..

Section19 247) searchbar에서 검색 취소 클릭시 키보드 내리기

searchbar에서 검색 취소 클릭시 키보드 내리기 func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { //검색을 하다가 (text did change), searchbar 의 텍스트가 0이되는 때 (x 버튼 클릭시), 영구 core data에 있는 모든 데이터를 불러온다. if searchBar.text?.count == 0 { loadItems() DispatchQueue.main.async { searchBar.resignFirstResponder() //해당 라인은 foreground 에서 실행됨 } } } //CRUD 중에 R (READ) (Core Data) func loadItems(with request..