🌱 5주차: API 통신, Codable, DispatchGroup, 복습
·
SeSAC iOS 3기
5주차 기록: API 통신, Codable, DispatchGroup 🧐 무엇을 배웠나? - codable (from JSON) - API 네트워크 통신 심화 - DispatchGroup (API통신을 효율적으로 관리) - UNUserNotificationCenter (알림 띄우기) - 외부 폰트 삽입 🔨 예제 - NASA sync / async로 사진 받으며 순서 확인해보기 - PosterViewController 📚 과제 - 4주차 API 통신 (JSON -> Codable) 프로젝트 개선 ex.카카오API - Media Project 개선 + 응용 + 심화 - 다마고치 프로젝트 리팩토링 (수업 때 배운 요소들로 추가 및 개선) 💦 복기 ✔️ Concurrency Programming GCD : Gr..
[Error] Could not insert new outlet connection
·
🍎 Dev/Issue
💻 문제상황 viewController를 만들고 collectionView를 얹은 뒤 아울렛 연결을 해주려는데 위와 같은 오류가 발생하며 연결이 되지 않았다. 찾아보니 제법 다양한 상황에서 발생하는 듯 싶었다. 보통 두 가지인 경우 같은데, 1. xcode내에 파일이 많아서 생기는 오류 2. 단순한 프로젝트 오류 즉, 그냥 엑스코드가 혼자 연결을 못 하고 오류가.. 나는 것 같았다. 그래서 해결방안도 프로젝트를 껐다 켜니 된다는 게 많았는데, 나는 왠지 껐다 켜지 않고 처리하는 방법을 해보고 싶어서 아래와 같은 방법으로 오류를 해결했다. ✏️해결방안 1. 보라색 연결점처럼, 뷰컨에서 연결이 안 되는 것 같아서 파일쪽에서 연결 해봤으나 역시 똑같은 오류 발생. 2. 그래서 직접 @IBOutlet을 쳐서 역..
🌱 4주차: 네트워크 통신
·
SeSAC iOS 3기
4주차 기록 : 네트워크 통신 🧐 무엇을 배웠나? 더보기 - alamofire & swfityJSON을 사용해서 API를 통해 서버 응답받기 - key를 .gitignore와 APIKey 파일을 만들어 따로 저장하기 (깃헙에 올릴 때 키 노출을 방지할 수 있음, 기밀유지) - 로딩바 활용 및 애니메이션 효과주기 => 데이터가 오고 있는지 아닌지를 알 수 없는 사용자에게 '데이터 불러오고 있어~' 알려주는 것. - 일급객체 & 클로저 (문법) - 평가과제 개선하는 방법; protocol, userDefaults, singleton - 동기/비동기 🔨 예제 더보기 - 카카오 검색 API 활용 - 네이버 파파고 API 활용 📚 과제 더보기 - 로또API를 이용해서 로또 당첨번호 일곱자리 뽑아내기. (UIPic..
[Issue/UIKit] TableViewCell에 추가한 버튼 구별하기
·
🍎 Dev/Issue
🙁 문제상황: TableView를 이용해서 cell을 만들면 좋은 점은 같은 걸 여러 번 반복해서 만들 필요가 없다는 것이고, 생각해야 할 부분은 그 일관하게 반복되는 셀을 어떻게 구별할 것인지 같다. 그리고 여전히 indexPath에 허우적 대는 내가 직면한... TableViewCell에 추가한 버튼 중 특정 index의 버튼에 이벤트를 주려는데 (팝업창을 만들고 있는중이었다) 어째서인지 indexPath활용이 되지 않는 공포. 조건문을 가장 자신있게 쓸 줄 알아서 설마 조건문을 쓰면 안되나? 하는 생각부터 여러 번 수정을 했지만 '셀' 안의 '특정한 버튼' 클릭이 잘 되지 않았다. 그렇게 삽질이 시작 되었다.  ✏️ 해결방안: 구글링의 구글링의 구글링의 구글링.... 을 하다가 (delegate과..
[Issue/UIKit] fullScreen vs OverFullScreen
·
🍎 Dev/Issue
🙁 문제상황 : 과제 프로젝트를 하는 도중, 다른 뷰컨트롤러를 화면에 꽉 찬 팝업창으로 불러오며 팝업창으로 만든 UIView 외의 영역엔 팝업창 VC를 불러오기 전 화면을 어둡게 보이고 싶었다. 나한테 화면에 꽉 찬 VC 전환은 당연히 fullScreen 이라고 외워두고 있었기 때문에 정작 적용했을 때 원하는 바가 이뤄지지 않았는데 ... ✏️ 해결한 방법: 사실 내가 간과한 것이 modal present style이 다양하다는 것과 내가 주로 fullScreen 옵션만 사용해서 다른 옵션의 존재를 까마득하게 잊고 있었다는 것. 그러니 옵션에 대해서 한정적으로 기억하지 말자는 의미로 기록해두기로 했다. (습관적으로 암기하려고 드는 걸 경계해야할 것 같다. 개발을 배우며 깨닫는 건 개발은 사고의 분야지 ..
[UIKit/Storyboard] 키보드 내리기
·
🍎 Dev/UIKit
💻 텍스트필드를 단순히 넣기만 하면 키보드가 내려가지 않는 걸 시뮬레이터로 확인할 수가 있다. 화면을 터치해서 키보드를  내리거나, return key를 눌러 내리기 위해서는 코드로 작성해주어야 한다. 그래서 키보드를 내리기 위한 몇 가지 방법을 정리하고자 한다.        사용자는 보통 키보드를 내릴 때, 빈 화면을 터치하거나 혹은 return key를 눌러 키보드를 화면 아래로 내린다. 이런 action을 구현해주려면 어떻게 해야할까?      (1) IBAction으로 연결할 때 Event를 Did End On Exit로 변경해준다.   Action으로 뷰객체를 연결해줄 때, Event를 Did End On Exit로 변경해주면 시뮬레이터에서 return key를 누르면 키보드가 바로 내려가는 ..