โœ๏ธ TIL

[ TIL ] ์ด๊ฒŒ ๋‚˜์•ผ! / UUID, Date, DateFormatter / 24๋…„ 3์›” 21์ผ

EarthSea 2024. 3. 21. 19:56

 

 

์ถœ์ฒ˜ : ํ•€ํ„ฐ๋ ˆ์ŠคํŠธ

 

 

์˜ค๋Š˜! ์–ด์ œ์˜ ์˜ค๋ฅ˜๋“ค์„ ๋‹ค ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค!

์ด๊ฒŒ ๋‚˜์•ผ!

 

๋ฟŒ๋“ฏ ๋ฟŒ๋“ฏ! ์•„์ฃผ ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹คใ…Ž

์šฐ์„  ๋ฟŒ๋“ฏํ•จ์„ ๋’ค๋กœ ์ –ํ˜€๋‘๊ณ , ์˜ค๋Š˜์€ ์–ด๋–ค ๊ฒƒ์„ ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์› ๋Š”์ง€ ์ •๋ฆฌํ•ด ๋ด…์‹œ๋‹ค!

 

UUID

UUID๋Š” Universally Unique IDentifier์˜ ์•ฝ์ž์ธ๋ฐ์š”. 36๊ฐœ์˜ ๋ฌธ์ž์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ๊ณ ์œ ์˜ ์‹๋ณ„์ž๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ตฌ์กฐ์ฒด์ž…๋‹ˆ๋‹ค. UUID๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ์žˆ์–ด์„œ๋Š” ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฌ์šธ ๊ฒƒ ๊ฐ™์•„์š”! ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋Š” ์‚ฌ๋žŒ๋งˆ๋‹ค ๋‹ค ๋‹ค๋ฅด๊ณ , ์ ˆ๋Œ€ ์ค‘๋ณต์ด ๋  ์ˆ˜ ์—†์ž–์•„์š”?! ๊ทธ๋Ÿฐ ๊ฒƒ์ฒ˜๋Ÿผ ์–ด๋–ค ๊ณ ์œ ์˜ ID๋ฅผ ์ง€์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์ด UUID ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

36๊ฐœ์˜ ์•ŒํŒŒ๋ฒณ ๋˜๋Š” ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด ๊ฐ€์ง“์ˆ˜๊ฐ€ ์—„์ฒญ ๋งŽ์€๋ฐ์š” ๊ทธ ์ˆ˜๋Š” ๋ฌด๋ ค 10์˜ 36์ œ๊ณฑ๊ฐœ๋ผ๊ณ  ํ•˜๋„ค์š”!

 

์ €๋Š” TodoData์˜ id์— ์ด UUID๋ฅผ ์ ์šฉํ•˜์—ฌ ์‹๋ณ„์ž๋ฅผ ๋ถ€์—ฌํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. Date๋‚˜ Priority๋กœ ๊ฐ’์„ ์‹๋ณ„ํ•ด๋„ ๋˜์ง€๋งŒ, ์ถ”ํ›„์— ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๋“ค์„ ๊ตฌํ˜„์„ ํ•˜์˜€์„ ๋•Œ, Date๋‚˜ Priority๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฒน์น  ์œ„ํ—˜์ด ์žˆ๋”๋ผ๊ณ ์š”! ๊ทธ๋ž˜์„œ UUID๋ฅผ ์ ์šฉํ•ด ์ฃผ์—ˆ๋Š”๋ฐ ์ ์šฉ ๋ฐฉ๋ฒ•์€ ์•„์ฃผ ๊ฐ„๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.

 

todoData.id = UUID()

 

์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์š”์†Œ๋ฅผ ๋งŒ๋“ค ๋•Œ, ์ด ํ•œ ์ค„๋งŒ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜๋ฉด์„œ ์ฐธ๊ณ ํ•ด์•ผํ•  ๋ถ€๋ถ„์€ ์ฝ”์–ด๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์„ UUID๋กœ ์ง€์ •ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โญ๏ธ

 

 

 

Date

Date๋Š” ์‹œ๊ฐ„๊ณผ ๋‚ ์งœ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ฒด์ž…๋‹ˆ๋‹ค. ์ „ ์„ธ๊ณ„์˜ ํ˜„์žฌ ์‹œ๊ฐ„์„ ์•Œ ์ˆ˜ ์žˆ๊ณ , ๋‹ค๋ฅธ ๋‚ ์งœ์™€์˜ ๋น„๊ต๋‚˜ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ๋„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์•„์ฃผ ํŽธ๋ฆฌํ•œ ๊ตฌ์กฐ์ฒด์ž…๋‹ˆ๋‹ค.

 

https://developer.apple.com/documentation/foundation/date

 

Date | Apple Developer Documentation

A specific point in time, independent of any calendar or time zone.

developer.apple.com

 

 

DateFormatter

DateFormmatter๋Š” ์œ„์— ์„ค๋ช…ํ•œ Date๋ฅผ Stringํƒ€์ž…์œผ๋กœ String์„ Dateํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ์ด DateFormatter๋ฅผ ์ด์šฉํ•ด ์ง€์—ญ์„ค์ •๋„ ๊ฐ€๋Šฅํ•˜๊ณ , ์‹œ๊ฐ„๋Œ€ ์„ค์ •๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค!

 

https://developer.apple.com/documentation/foundation/dateformatter

 

DateFormatter | Apple Developer Documentation

A formatter that converts between dates and their textual representations.

developer.apple.com

 

 

๋‘ ๊ฐ€์ง€์˜ ์š”์†Œ๋ฅผ ์ด์šฉํ•ด ์˜ค๋Š˜์˜ ๋‚ ์งœ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋„ ์งœ๋ณด์•˜์–ด์š”!

 

func setDate() {
    let now = Date()
    let formatter = DateFormatter()
    formatter.dateFormat = "yy.MM.dd"
    let result = formatter.string(from: now)
    date.text = result
}

 

๋„ˆ์–ด๋ฌด ๊ฐ„๋‹จํ•˜์ฃ ?!ใ…Ž

 

 

 

XCode ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

XCode : Logging Error: Failed to initialize logging system. Log messages may be missing. If this issue persists, try setting IDEPreferLogStreaming=YES in the active scheme actions environment variables.

 

์˜ค๋Š˜ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค๊ณ  ๋ฐ˜๋ณตํ•ด์„œ ์•ฑ์„ ์‹คํ–‰ํ•˜๋‹ค๋ณด๋‹ˆ ๊ฐ‘์ž๊ธฐ ์œ„์™€ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋œจ๋”๋ผ๊ณ ์š”. ๊ตฌ๊ธ€์— ์ณ๋ดค๋”๋‹ˆ Xcode๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ™˜๊ฒฝ์ธ scheme์— ์ € "IDEProferLogStreaming=YES"๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ์„ค์ •ํ•˜๋ผ๊ณ  ๋œจ๋Š” ๋ฉ”์‹œ์ง€๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ Product -> Scheme -> Edit Scheme ์— ๋“ค์–ด๊ฐ€์…”์„œ

 

Run -> Arguments -> Arguments Passed On Launch ์— IDEProferLogStreaming=YES๋ฅผ ์ถ”๊ฐ€ํ•ด ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

 

 

์ด๋ ‡๊ฒŒ ์˜ค๋Š˜ ์ƒˆ๋กญ๊ฒŒ ์ ‘ํ•œ ๊ฐœ๋…๋“ค์ด์—ˆ์Šต๋‹ˆ๋‹ค!

CoreData ๊ด€๋ จํ•œ ์ด์Šˆ๋“ค์€ ๋”ฐ๋กœ ํฌ์ŠคํŒ…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค~!

 

 

 

๐Ÿ“„ ์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ https://velog.io/@ihavebomin/Swift-UUID%EB%9E%80
๐Ÿ“„ ์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ https://leeari95.tistory.com/30