티스토리 뷰

TIL

[TIL] 2022 / 08 / 23

희철 2022. 8. 24. 02:08

Realm

 

 

업데이트

 

추가할땐 add를 이용했지만, 업데이트를 할 때는 그냥 값에 접근해서 바꿔주면 됨.

 

 

삭제

 

마찬가지로 delete를 이용해 바로 지울 수 있음.

 

 

정렬, 필터

 

 

연산자를 사용할때 ==이 아니라 = 사용

 

filter("diaryTitle = 일기313”)가 아니라 필터를 할 내용은 ''안에 들어있어야함.

 

 

 

에러 처리

 

 

보통 try를 이용함.

 

try!인 경우엔 에러가 나지 않을 것을 확신할때 사용

 

try?는 에러가 났을때 nil반환

 

catch에 에러를 처리하고 do에서는 구문 실행.

 

 

Transaction, ACID는 따로 시간있을때 정리해보기

 

 

Meta Type

 

 

타입의 타입을 의미

 

인스턴스를 저장하거나 사용하는 것이 아닌, 타입 그 자체를 저장할 수 있는 것을 의미

 

.self 본 적 많음

 

-> 이해가 잘 안돼서 조금 더 공부해봐야할듯

 

 

 

UIMenu

 

 

 

 

 

 

Image <-> String

 

 

realm에서 이미지 타입을 지원해주지 않아 kingfisher를 사용할까 고민하던 중 그냥 string이 더 나을 것 같은 느낌이 들어 해봄.

 

png로 했었는데 사진의 용량이 커서 그런진 몰라도 "RLMException, reason: String too big" 오류가 떴음.

 

그래서 jpegData로 압축시켜서 진행했음.

 

 

 

 

PhPickerImageViewController

 

 

 

NSItemProviderReading타입으로 데이터가 오기 때문에 UIImage로 타입 캐스팅이 필요함.

 

itemProvider는 background async로 작업을 진행함.

-> 이미지뷰 설정같은 UI작업들은 메인스레드에서 진행되어야 하므로 위와 같이 작성.

 

 

UIImagePickerController

 

 

사진 찍은 것을 이용하고 싶을때 마찬가지로 프로토콜을 채택해야하는데 UIImagePickerControllerDelegate뿐만 아니라 UINavigationControllerDelegate도 채택해야함.

 

채택 후 didFinishPickingMediaWithInfo메서드를 이용해 사진 사용

UIImagePickerController.InfoKey에는 originalImage말고 다른 것들도 많았음.

 

또 UIImagePickerController는 dismiss를 따로 구현하지않으면 사라지지않음.

'TIL' 카테고리의 다른 글

[TIL] 2022 / 08 / 25  (0) 2022.08.26
[TIL] 2022 / 08 / 24  (0) 2022.08.25
[TIL] 2022 / 08 / 22  (0) 2022.08.23
[TIL] 2022 / 08 / 21  (0) 2022.08.22
[TIL] 2022 / 08 / 20  (0) 2022.08.21
댓글
최근에 올라온 글
Total
Today
Yesterday