[iOS/Swift] Realm - 이미지 파일 저장하기
·
iOS/🔎 swift 정리하기
서버 통신 한 이미지 파일 저장하고 불러오기 서버 통신을 통해 받은 이미지 url을 데이터 베이스에 저장한 후 꺼내와서 이미지를 로드하면 오류가 발생한다. 데이터 베이스 내부에서 꺼내온 값을 글로벌로 접근하려고 하기 때문에 발생한 오류이다. DispatchQueue 외부에서 상수로 저장한 후 사용하면 오류가 나지 않는다. 이미지를 하나하나 불러올 때 마다 네트워크 통신을 하게 되는데, 이미지의 용량이 크거나 로드할 데이터가 많다면 이미지 로드가 오래 걸릴 수 있다. ❓ 어떻게 해결해야 할까? 이미지 구현을 셀 구성할 때 하지말고, 미리 UIImage 형식으로 변환 후 셀에 보여주는 것. 하지만 이 또한 데이터가 여러개라면 변환하는 데에 오랜 시간이 걸리고, 사용자가 보지 않고 넘겨버릴 이미지까지 모두 로..
[iOS/Swift] Realm - CRUD
·
iOS/🔎 swift 정리하기
💡 swift에서 Realm 사용해보기 ✅ Realm Model 만들기 @Persisted 앱을 종료하더라도 유지되어야 하는 데이터를 지정하기 위해 사용 ✅ PK 지정하기 @Persisted(primaryKey: true) var id = 0 PK값을 별도로 지정할 수도 있고, 자동으로 key값을 지정하도록 할 수 있다. 💡 CRUD import RealmSwift let realm = try! Realm() realm 파일에 접근하는 상수를 선언한다. realm 파일의 위치를 찾는 코드 도큐먼트 폴더 내 default.realm 🔎 Create let realm = try! Realm() let specificPerson = realm.object(ofType: Person.self, forPrimar..
[iOS/Swift] Modal Style과 LifeCycle
·
iOS/🚨 오류 그리고 해결
컬렉션 뷰의 셀을 선택한 후 좋아요 버튼 해제 시 DB에서 삭제되어 변경된 데이터가 컬렉션 뷰에 업데이트 되도록 구현하고 있었다. 버튼 클릭 후 데이터가 삭제후 dismiss를 수행하도록 구현하였다. 뷰가 다시 나타나려면 viewWillAppear()가 호출 될 것이고, 뷰가 갱신되어 깔끔하게 정리 될 컬렉션 뷰를 기대하였다.. 삭제 쿼리가 정상 작동하는 것은 확인했는데 대체 왜 바로 reload가 수행되지 않을까? 결국 sos 요청 후 굉장한 깨달음을 얻게 되었다ㅠㅠ viewWillAppear()에서 데이터가 잘 변경되었는지 확인해보려 출력시켜보니 viewWillAppear()가 호출되지 않고있었다. 그렇다면 뷰가 사라지긴 한건가? viewDidDisappear()도 호출해보자 애초에 컬렉션 뷰가 사라..
[iOS/Swift] - Swift에서 값을 전달하는 방법
·
iOS/🔎 swift 정리하기
💡 Pass Data between View Controllers property notification delegate pattern closure 🔎 property 데이터를 넘길 뷰의 프로퍼티에 직접 값을 전달하는 방식이다. push나 present 방식의 화면 전환에서만 사용할 수 있다. ❗️ 전환된 화면에서 다시 돌아갈 때 값을 전달하고 싶다면 다시 돌아갈 뷰컨에 전달해야 하는데 잘 사용하지도 않으며 뷰컨 관계가 상호적으로 묶이게 되는 문제가 발생한다. 때문에 역방향으로 값을 전달하고 싶을 땐 다음 세가지 방법을 사용해보자 🔎 Notification A → B → C ⇒ C에서 변경한 데이터 A, B에 반영 post → signal ( signal name) “Name”이라는 signal을 ad..