Skip to content

Commit

Permalink
Create 240104_UserDefaults,_Xcode_Find_and_Replace_Regular_Expression.md
Browse files Browse the repository at this point in the history
  • Loading branch information
leeari95 committed Jan 4, 2024
1 parent 3544d74 commit 89cce21
Showing 1 changed file with 57 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# 240104 UserDefaults, Xcode Find and Replace Regular Expression

# TIL (Today I Learned)

1์›” 4์ผ (๋ชฉ)

## ํ•™์Šต ๋‚ด์šฉ

- UserDefaults
- Xcode Find and Replace

 

## ๊ณ ๋ฏผํ•œ ์  / ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

> UserDefaults๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์บ์‹œ๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค...!
![image](https://github.com/leeari95/TIL/assets/75905803/923d8e74-eeca-40c9-922f-2cf3eb1a537f)

</br>

#

> Xcode์—์„œ ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ์ „์ฒด์ ์œผ๋กœ ํŠน์ • ์ฝ”๋“œ๋ฅผ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•
ํšŒ์‚ฌ ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ UserDefaults๋ฅผ ๋ž˜ํ•‘ํ•˜์—ฌ ์‹ฑ๊ธ€ํ†ค ํด๋ž˜์Šค๋กœ get, set ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ์— SwiftyUserDefaults๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ฐœ์„ ํ•˜๊ฒŒ ๋˜๋ฉด์„œ ๋”์ด์ƒ get, set ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ค์–ด ๋ž˜ํ•‘ํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง€๊ฒŒ ๋˜์—ˆ๋‹ค.

์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” subscript๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์†์‰ฝ๊ฒŒ ์ฝ๊ณ  ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋ฅผ ์ „์ฒด์ ์œผ๋กœ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ๋ฐฉ์‹์ด ์•„๋‹Œ, ์ฐธ์กฐ ๋ฐ ํ• ๋‹นํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ์ด๋ฅผ ์ผ์ผ์ด ๋ฐ”๊ฟ”์ฃผ๊ธฐ์—๋Š” ๋ญ”๊ฐ€ ๋…ธ๊ฐ€๋‹ค ๊ฐ™์•„์„œ... ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์—†์„๊นŒ ์ฐพ๋‹ค๊ฐ€ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

![image](https://github.com/leeari95/TIL/assets/75905803/bf597777-7c3e-4192-9add-a30fbdc5ef81)

์ด๋ ‡๊ฒŒ ํ…์ŠคํŠธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๋‚ด์— ํŠน์ • ๋ฌธ์ž์—ด์„ ๊ณจ๋ผ๋‚ผ ์ˆ˜๊ฐ€ ์žˆ์—ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํŠน์ • ๋ฌธ์ž์—ด์„ ๋‚จ๊ฒจ๋‘๊ณ  ๋‚˜๋จธ์ง€ ๋ฌธ์ž์—ด๋งŒ ๋ฐ”๊ฟ”์น˜๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ–ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด์„œ `Storage.shared.get(key: Persistent.store.keyName)` ์ด ๋ถ€๋ถ„์„ `Persistent.store.keyName` ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

1. ์ฐพ๊ณ ์žํ•˜๋Š” ํŒจํ„ด์„ ์ •๊ทœ ํ‘œํ˜„์‹์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•ด์ค€๋‹ค.
a. `Storage\.shared\.get\(key: (.+)\)`
b. ์—ฌ๊ธฐ์„œ `(.+)`๋Š” ๊ด„ํ˜ธ ์•ˆ์˜ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ž„์ด์˜ ๋ฌธ์ž๋ฅผ ์บก์ฒ˜ ๊ทธ๋ฃน์œผ๋กœ ์ง€์ •ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.
2. Replace ํ•„๋“œ์— ์บก์ฒ˜๊ทธ๋ฃน์„ ์ฐธ์กฐํ•˜๋Š” $1๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค.
a. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฐพ์€ ๋ฌธ์ž์—ด์—์„œ ์บก์ณํ•œ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์น˜๊ธฐ๊ฐ€ ๋œ๋‹ค.

์•„๋ž˜๋Š” ๋˜๋‹ค๋ฅธ ์˜ˆ์‹œ๋‹ค.

1. Find Pattern: `Storage\.shared\.set\((.+), key: (.+)\)`
2. Replace Pattern: `$2 = $1`

</br>

---

# Reference

* https://developer.apple.com/documentation/foundation/userdefaults
* https://developer.apple.com/documentation/xcode/finding-and-replacing-content-in-a-project

0 comments on commit 89cce21

Please sign in to comment.