๐ ์์ ฏ์ ํตํด ์ฑ์ ํน์ ๋ทฐ๋ก ์ด๋ QR Code ์์ ฏ์ ์ ํํ๋ฉด ์๋์ ๊ฐ์ด ํ๋ฉด์ ํ์ด ์ ์ฉ๋ QR Code ์ธ์ ๋ทฐ๋ก ์ด๋ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ widgetURL(_:) ์์ ฏ์ ํด๋ฆญํ์ ๋ containing app ์์ ์ด๋ฆด URL ์ ์ค์ ํฉ๋๋ค. Overview widgetURL modifier ๋ view hierarchy ์์ ํ๋๋ง ์ง์ํฉ๋๋ค. ์ฌ๋ฌ ๋ทฐ์ widgetURL ์ด ์๋ ๊ฒฝ์ฐ ๋์์ด ์ ์๋์ง ์์ต๋๋ค. struct QRCodeEnytryView : View { var entry: QRCodeProvider.Entry var body: some View { Image("widgetQr") .resizable() .scaledToFill() // โ .widgetURL(URL(str..
๋ด์ฉ Configurable Widget ์ ๋ฌด์์ ์ง์ํ๋์ง ์์๋ด ์๋ค. ์ ์ /๋์ ์ ํ ๋ชฉ๋ก์ ๋ง๋ค๊ธฐ ์ํด์ Custom Intent Definition ์ ์์ฑํด๋ด ์๋ค. ๋์ ์ ํ ๋ชฉ๋ก์ ์ค์ ํ๊ณ , ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๊ธฐ ์ํด์ Intents Extension ์ ์ถ๊ฐํ์ฌ Intent ๋ฅผ ํธ๋ค๋ง ํด๋ด ์๋ค. configurable properties ๋ฅผ ์ง์ํ๊ธฐ ์ํด IntentTimelineProvider ๋ฅผ ์ฌ์ฉํ์ฌ IntentConfiguration ์ ๊ตฌ์ฑํ๊ฒ ์ต๋๋ค. ๐จ ๋ค์ด๊ฐ๊ธฐ ์ - Configurable Widget ์ ๋ฌด์์ธ๊ฐ์? ๋ ๋ฒ์งธ๋ ์ฒซ ๋ฒ์งธ์ ๋ฌ๋ฆฌ Configurable properties ๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ํ Configurable widget ์ ๋๋ค. Configurable Wi..
์์ ฏ์ ๋ฐฐ๊ฒฝ์ ํฌ๋ช ๋๋ฅผ ๋ถ์ฌํด์ ๋จ์ ๋ถํฌ๋ช ํ ๋ฐฐ๊ฒฝ์ ๋ง๋๋ ๊ฒ์ด ์๋๋ผ ์๋์ ๊ฐ์ ๋ธ๋ฌ์ฒ๋ฆฌ ๊ฐ์ ๋๋์ ๊ตฌํํด๋ณด๊ณ ์ ํ์ต๋๋ค. (์ ์ด์ ๋คํฌ๋ชจ๋์ ๋ฐ๋ฅธ ์์ ฏ์ ๊ธฐ๋ณธ ๋ฐฐ๊ฒฝ๋ ๋ณ๊ฒฝ๋๊ณ ์ด๋ ๋ฐ๊ฟ ์ ์์ต๋๋ค. ๋์ , ์์ ์์ ๊ฐ์ง ๋ทฐ๋ฅผ ํ๋ ์น๋ ๊ฒ์ด์ฃ ...) ๊ฒฐ๋ก ์ ์ผ๋ก ์๊ธฐํ๋ฉด ์จ๋ํํฐ์ ์ฑ์ด ๊ตฌํํ๋๋ก ์ง์ํ์ง ์๊ณ ์์ต๋๋ค. ๋น์ทํ ์ง๋ฌธ์ ์ฌ๋ฌ ํฌ๋ผ์์ ๋ฑ์ฅํ์์ง๋ง, ์ง์ํ์ง ์๋ ๊ธฐ๋ฅ๋ผ๊ณ ๋ต๋ณ์ ์ฃผ๊ณ ์์์ต๋๋ค. ๋ฟ๋ง ์๋๋ผ ์์ ฏ์ ๋ฐฐ๊ฒฝ์์ฒด๋ฅผ ํฌ๋ช ํ๊ฒ ๋ง๋ค ์ ์์์ต๋๋ค. (์์ ฏ ์์ฒด์ ๊ธฐ๋ณธ ๋ฐฐ๊ฒฝ์ ๋ผ์ดํธ๋ชจ๋๋ ํ์์, ๋คํฌ๋ชจ๋๋ ๊ฒ์ ์์ผ๋ก ์ง์ํ๊ณ ์์์ต๋๋ค. ๋ํ, background ์ ๊ด๋ จ๋ modifier ๋ฅผ ์ด๋์ ์์น์ํค๋ ์กฐ์ ํ ์ ์์์ต๋๋ค๐ฅฒ) Blurred widget back..
ํ๋ก๊ทธ๋๋จธ์ค) ๊ณผ์ผ ์ฅ์ - Level1 https://school.programmers.co.kr/learn/courses/30/lessons/135808 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr import Foundation // k ์ ๋ถํฐ 1์ ๊น์ง์ ์ฌ๊ณผ // ํ ์์์ ์ฌ๊ณผ๋ฅผ m๊ฐ์ฉ ๋ด์ // (๊ฐ์ฅ ๋ฎ์ ์ ์ * ์ฌ๊ณผ ๊ฐฏ์)๊ฐ ํ ์์์ ๊ฐ๊ฒฉ // ํ ์์ ๋จ์๋ก๋ง ํ๊ณ , ๋จ์ ์ฌ๊ณผ๋ ๋ฒ๋ฆผ. // ์ป์ ์ ์๋ ์ต๋ ์ด์ต์? // ์ด ๋ง๋ค ์ ์๋ ์์ ์ // ์ผ ์ ์์ ์ฌ๊ณผ func solution(_ k:Int, _ m:Int, _..
โ ARC(Automatic Reference Counting)๋? ๋ง ๊ทธ๋๋ก ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ๋ฐฉ์์ ๋๋ค. ARC๋ ๋์ด์ ์ฌ์ฉํ์ง ์๋ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ํ๋ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค. ARC ๋ ์ฐธ์กฐ ์นด์ดํธ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ฐธ์กฐ ํ์ ์ธ ํด๋์ค์ ์ธ์คํด์ค์๋ง ์ ์ฉ๋ฉ๋๋ค. ๋น์ฐํ ์ด๊ฑฐํ, ๊ตฌ์กฐ์ฒด์ ๊ฐ์ ๊ฒ์ ์ฐธ์กฐ ์นด์ดํธ๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ARC ๊ฐ ๊ด๋ฆฌํ์ง ์์๋ ๋ฉ๋๋ค. โ ์ ์ฌ์ฉํด์? Swift ์์๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ๊ด๋ฆฌํ๊ธฐ ์ํด์ ARC ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ ํ์ ๊ณผ ๋ฌ๋ฆฌ ์ฐธ์กฐ ํ์ ์ ํ๋์ ์ธ์คํด์ค๊ฐ ์ฐธ์กฐ๋ฅผ ํตํด ์ฌ๋ฌ ๊ณณ์์ ์ ๊ทผ๋๊ธฐ ๋๋ฌธ์ ์ ์ ํ ์์ ์์ ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ๋์ง ์์ผ๋ฉด ํ์ ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์์์ ๋ญ๋นํ๋ memory leak ์ด ๋ฐ์ํฉ๋๋ค. ์ด๋ ์ฑ๋ฅ ์ ํ๋ก..
ํ๋ก๊ทธ๋๋จธ์ค) ๊ธฐ์ฌ๋จ์์ ๋ฌด๊ธฐ - Level1 https://school.programmers.co.kr/learn/courses/30/lessons/136798 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr import Foundation // 1-number ๊น์ง ์ง์ ๋ ์ซ์๋๋ผ ๊ธฐ์ฌ๋จ. // ๊ฐ ๊ธฐ์ฌ๋ ์์ ์ ์ซ์์ ์ฝ์์ ๊ฐฏ์์ ๊ณต๊ฒฉ๋ ฅ์ด ํด๋นํ๋ ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งค. // ๊ณต๋ ฅ๋ ฅ์ limit ์์. ๊ทธ ์ด์์ power ๋ก ์ค์ . // ๊ณต๊ฒฉ๋ ฅ 1 ๋น 1kg ์ธ ๋ฌด๊ธฐ. ์ด ๋ฌด๊ฒ๋? func solution(_ number:Int, _ limit:Int, _..
ํ๋ก๊ทธ๋๋จธ์ค) ์ซ์ ์ง๊ฟ - Level1 https://school.programmers.co.kr/learn/courses/30/lessons/131128 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr import Foundation func solution(_ X:String, _ Y:String) -> String { // x ์ y ์ ์์์ ์๋ฆฌ์์ ๊ณตํต์ผ๋ก ๋ํ๋๋ ์ ์ k // k ๋ฅผ ์ด์ฉํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์ ์๋ฅผ ๋ ์์ ์ง๊ฟ์ด๋ผ๊ณ ํ๋ค. var x: [String] = X.sorted(by: >).map { String($0) }..
ํ๋ก๊ทธ๋๋จธ์ค) ํธ๋ ํ์ดํฐ ๋ํ - Level1 https://school.programmers.co.kr/learn/courses/30/lessons/134240 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr import Foundation func solution(_ food:[Int]) -> String { // ํ ์ ์๋ ์ผ์ชฝ -> ์ค๋ฅธ์ชฝ // ๋ค๋ฅธ ์ ์๋ ์ค๋ฅธ์ชฝ -> ์ผ์ชฝ // ์ค์์๋ ๋ฌผ ๋ฐฐ์น. ๋ฌผ์ ๋จผ์ ๋ง์๋ฉด ์น๋ฆฌ. // ์นผ๋ก๋ฆฌ๊ฐ ๋ฎ์ ์์์ ๋จผ์ ๋ฐฐ์น. // ์์์ ์ข ๋ฅ, ์, ์์๋ ๋์ผ. var leftFoods: String = ""..
- Notification
- Algorithm
- projectsetting
- Swift
- SwiftUI
- Widget
- IOS
- OpenSourceLibrary
- WWDC22
- Firebase
- WWDC
- containerBackground
- configurable widget
- rxswift
- github
- urlsession
- Objective-C
- CloneCoding
- MVVM
- async/await
- watchOS
- YPImagePicker
- 2022 KAKAO TECH INTERNSHIP
- Protocol
- ์๋ฒํต์
- RxCocoa
- MOYA
- UserDefaults
- WidgetKit
- APNS
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- Total
- Today
- Yesterday