์ฌ์ค ์์ง ํ๋ฉด์ ํํ ๋ ๋ฐ์ดํฐ ์ ๋ฌํ๋๊ฑฐ ์์ ์์ต์๋ค.
Thread 1: "Cannot compare value '~' of type '__NSCFString' to property 'id' of type 'object id'"
Realm ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ญ์ ๋ก์ง์ ๊ตฌํํ๋ค๊ฐ ์ด๋ฐ ์๋ฌ๋ฅผ ๋ง๋ฌ๋ค.
๋์ถฉ String๊ณผ ObjectId ํ์
์ด ๋ค๋ฅด๋๊น ๋น๊ตํ ์ ์๋ค๋ ๋ด์ฉ์ธ๋ฐ,
ObjectId๊ฐ ๋ญ๊ฐ?
ObjectId๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์์ฃผ ์ ํ๋ ์ฉ์ด์ธ๋ฐ, ๋ชฝ๊ณ DB๋ Realm ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ๋ ์์ฃผ ๋ณธ๋ค.
๊ฐ๋จํ ๋งํด, 'ObjectId'๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๊ฐ ํญ๋ชฉ์ ์ ์ผํ๊ฒ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์๋ณ์์ด๋ค.
๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ๊ฐ ๋ฐ์ดํฐ ํญ๋ชฉ์ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ์๋ณํ๊ธฐ ์ํด์. ํนํ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ์๋ง์ ๋ฐ์ดํฐ ์ฌ์ด์์ ํน์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์๋ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, 'ObjectId'๊ฐ ์์ผ๋ฉด ์ด ์์ ์ด ํจ์ฌ ์์ํด์ง๋ค๊ณ ํ๋ค.
๋ด๊ฐ ์ค๋ ๋ง๋ ๋ฌธ์ ์ํฉ์ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋ฐ์ดํฐ์ ID๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐพ์์ผ ํ๋ ์ํฉ์ด์๋ค. ์ด๋, ๋ฌธ์์ด ํํ์ ID์ 'ObjectId'๋ฅผ ๋น๊ตํ ์ ์๊ธฐ์ ๋ฐ์ํ ์๋ฌ์๋๋ฐ, ๋ฐ๋ผ์ ๊ฐ์ ํ์
์ผ๋ก ๋ณํํด์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํด๋น ID๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ์ ์๋ค.
String -> ObjectId ์ด๋ ๊ฒ ๋ฐ๊พธ๋ฉด ๋๋๋ฐ,
Realm Repository ๋ด์์ ์ง์ ์ ์ผ๋ก ๋ฌธ์์ด id๋ฅผ ObjectId ํ์
์ผ๋ก ๋ณํํ๋ ์๋๋ฅผ ํ์ง ์๊ณ , ๋์ ํํฐ๋ง ์กฐ๊ฑด์ ๋ฌธ์์ด์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ ค ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๋ฌธ์ ์๋ค.
Diary ๊ฐ์ฒด์ id (ObjectId)๋ฅผ ์ง์ ์ ๋ฌํ๊ณ ,
RealmRepository์ delete(diaryId:) ๋ฉ์๋๋ ์ด ObjectId๋ฅผ ์ฌ์ฉํ์ฌ Realm ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํด๋น ์ผ๊ธฐ๋ฅผ ์ฐพ์ ์ญ์ ํ๊ฒ ํ๋ค.