๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•
[Swift] Set์ง‘ํ•ฉ์˜ index์œ„์น˜ ์•Œ์•„๋‚ด๊ธฐ Set์ง‘ํ•ฉ์€ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ธ๋ฑ์Šค๋กœ ๊ฐ’์„ ์ฐพ์•„๋‚ผ ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ฐพ์•„๋ณธ ๊ฒฐ๊ณผ indices๋ฅผ ์ด์šฉํ•˜๋ฉด Set์•ˆ์˜ ๊ฐ’์˜ index๋ฅผ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. 1 2 3 4 5 6 let mySet: Set = ["a", "b", "c", "d"] let indices = mySet.indices.map{$0} //Set์ง‘ํ•ฉ์„ indices๋กœ ๋‚˜๋ˆ ์ฃผ๊ณ  map์œผ๋กœ ๋‹ด์•„์ค€๋‹ค. let index = indices[1] //์›ํ•˜๋Š” ์œ„์น˜ ๊ฐ’์„ indices[?]๋กœ ๋„ฃ์€ ๋’ค ?๊ฐ’์„ index๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค. print(indices) print(index) print(mySet[index]) //Set์ง‘ํ•ฉ์— index๋ฅผ ๋„ฃ์œผ๋ฉด Set์˜ ํ•ด๋‹น index๊ฐ’์„ ๋„์ถœํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. cs ์ถœ๋ ฅํ•ด์„œ ๋ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด indices๋Š” .. 2020. 5. 13.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค H-Index Swift ๋ฌธ์ œ ์„ค๋ช… H-Index๋Š” ๊ณผํ•™์ž์˜ ์ƒ์‚ฐ์„ฑ๊ณผ ์˜ํ–ฅ๋ ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค. ์–ด๋Š ๊ณผํ•™์ž์˜ H-Index๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์ธ h๋ฅผ ๊ตฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์œ„ํ‚ค๋ฐฑ๊ณผ1์— ๋”ฐ๋ฅด๋ฉด, H-Index๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๊ณผํ•™์ž๊ฐ€ ๋ฐœํ‘œํ•œ ๋…ผ๋ฌธ nํŽธ ์ค‘, h๋ฒˆ ์ด์ƒ ์ธ์šฉ๋œ ๋…ผ๋ฌธ์ด hํŽธ ์ด์ƒ์ด๊ณ  ๋‚˜๋จธ์ง€ ๋…ผ๋ฌธ์ด h๋ฒˆ ์ดํ•˜ ์ธ์šฉ๋˜์—ˆ๋‹ค๋ฉด h์˜ ์ตœ๋Œ“๊ฐ’์ด ์ด ๊ณผํ•™์ž์˜ H-Index์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ๊ณผํ•™์ž๊ฐ€ ๋ฐœํ‘œํ•œ ๋…ผ๋ฌธ์˜ ์ธ์šฉ ํšŸ์ˆ˜๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด citations๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ด ๊ณผํ•™์ž์˜ H-Index๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ ๊ณผํ•™์ž๊ฐ€ ๋ฐœํ‘œํ•œ ๋…ผ๋ฌธ์˜ ์ˆ˜๋Š” 1ํŽธ ์ด์ƒ 1,000ํŽธ ์ดํ•˜์ž…๋‹ˆ๋‹ค. ๋…ผ๋ฌธ๋ณ„ ์ธ์šฉ ํšŸ์ˆ˜๋Š” 0ํšŒ ์ด์ƒ 10,000ํšŒ ์ดํ•˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ citations ret.. 2020. 5. 12.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ฐ€์žฅ ํฐ ์ˆ˜ Swift ๊ฐ€์žฅ ํฐ ์ˆ˜ darklight sublimevimemacs Swift ๋ฌธ์ œ ์„ค๋ช… 0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ •์ˆ˜๋ฅผ ์ด์–ด ๋ถ™์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์•Œ์•„๋‚ด ์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ์–ด์ง„ ์ •์ˆ˜๊ฐ€ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ์ด์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜๋Š” 6210์ž…๋‹ˆ๋‹ค. 0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ˆœ์„œ๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์–ด return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ numbers์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. numbers์˜ ์›์†Œ๋Š” 0 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. ์ •๋‹ต์ด ๋„ˆ๋ฌด ํด ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์–ด re.. 2020. 4. 27.
2020 KAKAO BLIND RECRUITMENT ๊ด„ํ˜ธ๋ณ€ํ™˜ Swift ๊ด„ํ˜ธ ๋ณ€ํ™˜ darklight sublimevimemacs Swift ๋ฌธ์ œ ์„ค๋ช… ์นด์นด์˜ค์— ์‹ ์ž… ๊ฐœ๋ฐœ์ž๋กœ ์ž…์‚ฌํ•œ ์ฝ˜์€ ์„ ๋ฐฐ ๊ฐœ๋ฐœ์ž๋กœ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์—ญ๋Ÿ‰ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•ด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋ฌธ์ œ์ ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋ผ๋Š” ์—…๋ฌด ๊ณผ์ œ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์†Œ์Šค๋ฅผ ์ปดํŒŒ์ผํ•˜์—ฌ ๋กœ๊ทธ๋ฅผ ๋ณด๋‹ˆ ๋Œ€๋ถ€๋ถ„ ์†Œ์Šค ์ฝ”๋“œ ๋‚ด ์ž‘์„ฑ๋œ ๊ด„ํ˜ธ๊ฐ€ ๊ฐœ์ˆ˜๋Š” ๋งž์ง€๋งŒ ์ง์ด ๋งž์ง€ ์•Š์€ ํ˜•ํƒœ๋กœ ์ž‘์„ฑ๋˜์–ด ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ •ํ•ด์•ผ ํ•  ์†Œ์Šค ํŒŒ์ผ์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ ๊ณ ๋ฏผํ•˜๋˜ ์ฝ˜์€ ์†Œ์Šค ์ฝ”๋“œ์— ์ž‘์„ฑ๋œ ๋ชจ๋“  ๊ด„ํ˜ธ๋ฅผ ๋ฝ‘์•„์„œ ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์น˜๋œ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์„ ์•Œ๋ ค์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐœ๋ฐœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์šฉ์–ด์˜ ์ •์˜ '(' ์™€ ')' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์žˆ์„ ๊ฒฝ์šฐ, '(' ์˜ ๊ฐœ์ˆ˜์™€ ')' ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์ด๋ฅผ ๊ท ํ˜•์žกํžŒ ๊ด„ํ˜ธ ๋ฌธ์ž.. 2020. 4. 23.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์†Œ์ˆ˜์ฐพ๊ธฐ Level 2 Swift ๋ฌธ์ œ ์„ค๋ช… ํ•œ์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์ ํžŒ ์ข…์ด ์กฐ๊ฐ์ด ํฉ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค. ํฉ์–ด์ง„ ์ข…์ด ์กฐ๊ฐ์„ ๋ถ™์—ฌ ์†Œ์ˆ˜๋ฅผ ๋ช‡ ๊ฐœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋‚ด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ข…์ด ์กฐ๊ฐ์— ์ ํžŒ ์ˆซ์ž๊ฐ€ ์ ํžŒ ๋ฌธ์ž์—ด numbers๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ข…์ด ์กฐ๊ฐ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์†Œ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ numbers๋Š” ๊ธธ์ด 1 ์ด์ƒ 7 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. numbers๋Š” 0~9๊นŒ์ง€ ์ˆซ์ž๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. 013์€ 0, 1, 3 ์ˆซ์ž๊ฐ€ ์ ํžŒ ์ข…์ด ์กฐ๊ฐ์ด ํฉ์–ด์ ธ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ numbers return 17 3 011 2 ํ’€์ด: ์šฐ์„  numbers๊ฐ€ ์ฃผ์–ด์กŒ์„ ๊ฒฝ์šฐ ๋ชจ๋“  ์กฐํ•ฉ์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ex) numbers๊ฐ€ 123456์ผ๊ฒฝ์šฐ ์ฐจ๋ก€๋กœ ๋งจ ์•ž์ž๋ฆฌ.. 2020. 4. 20.
[iOS] Carthage๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌํ•˜๊ธฐ Carthage๋Š” CocoaPods์™€ ๊ฐ™์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ฐ€๋” ์ฝ”์ฝ”์•„ํŒŸ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์–ด ์ด๋Ÿด ๋• ์นด๋ฅดํƒ€๊ณ ๋ฅผ ์‚ฌ์šฉํ•ด์ค˜์•ผํ•˜๋Š”๋ฐ ์šฐ์„  brew๋ผ๋Š” MacOS์šฉ ํŒจํ‚ค์ง€๊ด€๋ฆฌ์ž๋ฅผ ์„ค์น˜ํ•ด์ค๋‹ˆ๋‹ค. https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh ๊ทธ๋Œ€๋กœ ํ„ฐ๋ฏธ๋„์— ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค! ๊ทธ ๋‹ค์Œ ์œ„์—์„œ ์„ค์น˜ํ•œ Homebrew๋ฅผ ์ด์šฉํ•ด carthage๋ฅผ ์„ค์น˜ํ•ด์ค๋‹ˆ๋‹ค. $ brew install carthage ๊ทธ๋ฆฌ๊ณค ์›ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์— Cartfile์„ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ•˜๋Š”๋ฐ ๋ฐฉ๋ฒ•์€ ํ„ฐ๋ฏธ๋„์—์„œ ์ž์‹ ์ด ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋กœ ์ด๋™ํ•œ ๋’ค 'touch Cartfile'์„ ์ณ์ฃผ์‹œ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด .. 2020. 4. 15.
[Firebase] Storage์—์„œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์ฒซ ๋ฒˆ์งธ๋กœ ํ•  ์ผ์€ podํŒŒ์ผ์— 'Firebase/Storage'๋ฅผ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค ๊ทธ๋ฆฌ๊ณค ํ„ฐ๋ฏธ๋„๋กœ ๊ฐ€์„œ ํ•ด๋‹น ํด๋”๋กœ ์ด๋™ ํ›„ pod install์„ ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณค ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ด๋™ํ•ด import FirebaseStorage ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณค Storage์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ UIImage๋ฅผ ๋ฐ›๋Š” ์—…๋กœ๋“œํ•˜๋Š” ๋ฉ”์†Œ๋“œ uploadimage๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. data ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ด๋ฏธ์ง€๋ฅผ jpegData๋กœ ๋ฐ”๊ฟ”์ค€ ๋’ค filepath๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ์–ด๋–ค ์ด๋ฆ„์œผ๋กœ ์ €์žฅ ๋ฐ ์ฃผ์†Œ๋ฅผ ๋งŒ๋“ค๊ฑด์ง€ ์ •ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณค contentType์œผ๋กœ "image/png"๋กœ ํ•ด์ค€๋’ค ์•„๊นŒ ๋งŒ๋“ค์–ด๋’€๋˜ storage์ธ์Šคํ„ด์Šค์— reference().child(filePath).putData๋ฅผ ํ•ด์ฃผ์–ด ๋ฐ์ดํ„ฐ๋ฅผ.. 2020. 4. 14.
[iOS/Library] WebP๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€์šฉ๋Ÿ‰ ์ค„์ด๊ธฐ "WebP"๋Š” ๊ตฌ๊ธ€์—์„œ ๋งŒ๋“  ์ด๋ฏธ์ง€ ํฌ๋ฉง์ž…๋‹ˆ๋‹ค. ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” GIF,PNG,JPEG ํŒŒ์ผ์„ ์ตœ๋Œ€ 30%๊นŒ์ง€ ์šฉ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์•„๋ž˜ ๊นƒํ—ˆ๋ธŒ์ฃผ์†Œ๋กœ ๊ฐ€์‹  ๋‹ค์Œ์— https://github.com/ainame/Swift-WebP ainame/Swift-WebP A thin Swift wrapper of libwebp to make your own encoder/decoder app - ainame/Swift-WebP github.com ์›นํ”ผ๋ฅผ ์„ค์น˜ํ•ด์ฃผ์‹œ๋ฉด ๋˜๋Š”๋ฐ ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Cocoapods์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณ ๋กœ Carthage๋กœ ๋นŒ๋“œํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Carthage๋กœ ๋นŒ๋“œํ•˜๋Š” ๋ฒ•์€ ์•„๋ž˜ ๊ธ€์„ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š” https://fomaios.tistory.com/220 Carthage๋กœ ๋ผ์ด.. 2020. 4. 14.
[iOS/Library] Swift Snapkit์œผ๋กœ ์ฝ”๋“œ๋กœ ์˜คํ† ๋ ˆ์ด์•„์›ƒ ์‰ฝ๊ฒŒํ•˜๊ธฐ(Easy Programmatically AutoLayout) Snapkit์€ ์ฝ”๋“œ๋กœ ๋ ˆ์ด์•„์›ƒ์„ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์šฐ์„  ํŒŸํŒŒ์ผ์— ์•„๋ž˜์™€ ๊ฐ™์ด 'SnapKit', '~> 5.0.0'์„ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. ๋ฒ„์ „์€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์•„๋ž˜ ์Šค๋ƒ…ํ‚ท ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ฐ€์…”์„œ ํ™•์ธํ•˜์‹œ๊ณ  ์ถ”๊ฐ€ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. https://github.com/SnapKit/SnapKit SnapKit/SnapKit A Swift Autolayout DSL for iOS & OS X. Contribute to SnapKit/SnapKit development by creating an account on GitHub. github.com ๊ทธ๋ฆฌ๊ณ  ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ด๋™ํ•ด 'SnapKit'์„ importํ•ด์ฃผ๊ณ  ๋ฌด์ง€๊ฐœ์ƒ‰ UIView๋“ค์„ ๋งŒ๋“ค์–ด๋†“์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณค view์— addSubview๋กœ ๋ฌด์ง€๊ฐœ์ƒ‰ ๋ทฐ๋“ค์„ ๋„ฃ.. 2020. 4. 10.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์กฐ์ด์Šคํ‹ฑ Swift ๋ฌธ์ œ ์„ค๋ช… ์กฐ์ด์Šคํ‹ฑ์œผ๋กœ ์•ŒํŒŒ๋ฒณ ์ด๋ฆ„์„ ์™„์„ฑํ•˜์„ธ์š”. ๋งจ ์ฒ˜์Œ์—” A๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ex) ์™„์„ฑํ•ด์•ผ ํ•˜๋Š” ์ด๋ฆ„์ด ์„ธ ๊ธ€์ž๋ฉด AAA, ๋„ค ๊ธ€์ž๋ฉด AAAA ์กฐ์ด์Šคํ‹ฑ์„ ๊ฐ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ–ฒ - ๋‹ค์Œ ์•ŒํŒŒ๋ฒณ โ–ผ - ์ด์ „ ์•ŒํŒŒ๋ฒณ (A์—์„œ ์•„๋ž˜์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋ฉด Z๋กœ) โ—€ - ์ปค์„œ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ (์ฒซ ๋ฒˆ์งธ ์œ„์น˜์—์„œ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ๋ฌธ์ž์— ์ปค์„œ) โ–ถ - ์ปค์„œ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์˜ ๋ฐฉ๋ฒ•์œผ๋กœ JAZ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ์ฒซ ๋ฒˆ์งธ ์œ„์น˜์—์„œ ์กฐ์ด์Šคํ‹ฑ์„ ์œ„๋กœ 9๋ฒˆ ์กฐ์ž‘ํ•˜์—ฌ J๋ฅผ ์™„์„ฑํ•ฉ๋‹ˆ๋‹ค. - ์กฐ์ด์Šคํ‹ฑ์„ ์™ผ์ชฝ์œผ๋กœ 1๋ฒˆ ์กฐ์ž‘ํ•˜์—ฌ ์ปค์„œ๋ฅผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž ์œ„์น˜๋กœ ์ด๋™์‹œํ‚ต๋‹ˆ๋‹ค. - ๋งˆ์ง€๋ง‰ ์œ„์น˜์—์„œ ์กฐ์ด์Šคํ‹ฑ์„ ์•„๋ž˜๋กœ 1๋ฒˆ ์กฐ์ž‘ํ•˜์—ฌ Z๋ฅผ ์™„์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 11๋ฒˆ ์ด๋™์‹œ์ผœ "JAZ"๋ฅผ ๋งŒ๋“ค.. 2020. 4. 9.
[iOS/Library] Swift Realm์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌํ•˜๊ธฐ (Realm DataBase Save,Read,Update,Delete) ๋ ˜์ด๋ž€? ์•„์ฃผ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ฐ”์ผ ์šฉ ์˜คํ”ˆ์†Œ์Šค ๊ฐ์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค ์‚ฌ์šฉ๋ฒ•์€ ์šฐ์„  pod์— 'ReamSwift'๋ฅผ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„๋กœ ๊ฐ€์„œ pod install์„ ํ•ด์ค€ ๋’ค ๋‹ค์‹œ Xcode๋กœ ์™€์„œ 'import RealmSwift'๋ฅผ ํ•ด์ค€ ๋’ค ์›ํ•˜๋Š” ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ์ €๋Š” UserInfo๋ผ๊ณ  ์ด๋ฆ„ ์ง“๊ณ  (๋ฐ˜๋“œ์‹œ ์˜†์— Object๋กœ ๋ช…์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.) ์ด๋ฆ„๊ณผ ๋‚˜์ด ์„ฑ๋ณ„์„ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์„ ์–ธํ•ด์ฃผ๊ฒ ์Šต๋‹ˆ๋‹ค. 1 2 3 4 5 6 7 8 import Foundation import RealmSwift class UserInfo:Object { @objc dynamic var name = "" @objc dynamic var age = 0 @objc dynamic var gender = "" } h.. 2020. 4. 5.
Swift indices,compactMap,contentsOf ์ƒˆ๋กญ๊ฒŒ ์•ˆ ๊ฒƒ indices,contentsOf,compactMap ๋จผ์ € indices๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐฐ์—ด์„ ๋„๋Š” ๊ฒƒ์ธ๋ฐ ๋งŒ์•ฝ ๋ฐฐ์—ด์ด var a= [1,2,3,4]๋ผ๋ฉด a[6]์„ ๋„ฃ๋Š” ์ˆœ๊ฐ„ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ Array๋ฅผ ํ™•์žฅํ•ด์„œ indices๊ฐ€ index๋ฒ”์œ„๋ผ๋ฉด ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์•„๋‹ˆ๋ผ๋ฉด nil์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ํ•œ๋‹ค. 1 2 3 4 5 extension Array { subscript (safe index: Int) -> Element? { return indices ~= index ? self[index] : nil } } http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by.. 2020. 4. 4.
728x90
๋ฐ˜์‘ํ˜•