๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐ŸŽ iOS122

[iOS/XCode] ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ํ•œ๊ธ€ ์žํŒ ์‚ฌ์šฉํ•˜๊ธฐ, ํ‚ค๋ณด๋“œ ๊บผ๋‚ด๋Š” ๋ฒ• ์šฐ์„  ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ํ‚ค๋ณด๋“œ๋ฅผ ๊บผ๋‚ด๋Š” ๋‹จ์ถ•ํ‚ค๋Š” Command + Shift + k ์ž…๋‹ˆ๋‹ค ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ํ•œ๊ธ€ ์ž…๋ ฅ์ด ์•ˆ๋ ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ ์‹ฌ์ง€์–ด ํ‚ค๋ณด๋“œ์— ํ•œ๊ธ€ ์žํŒ๋„ ์—†์–ด์„œ ๋ถˆํŽธํ•  ๋•Œ ์„ค์ •์—์„œ ์‰ฝ๊ฒŒ ํ•œ๊ธ€ ์žํŒ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค~ Simulator ์—์„œ Settings๋กœ ๋“ค์–ด๊ฐ€ ์ค๋‹ˆ๋‹ค General ๋ฉ”๋‰ด๋กœ ๋“ค์–ด๊ฐ€ ์ฃผ์„ธ์š”! ์ƒ๋‹จ์— Keyboard ๋ฉ”๋‰ด๊ฐ€ ๋ณด์ผ ๊บผ์—์š”! ํƒญํ•ด์ค๋‹ˆ๋‹ค Keyboards ๋กœ ๋“ค์–ด๊ฐ€ ์ค๋‹ˆ๋‹ค! ์ฒซ๋ฒˆ์งธ ํ•ญ๋ชฉ์ด์—์š” Add New Keyboard ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ํ‚ค๋ณด๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด ์ค์‹œ๋‹ค Korean๋ฅผ ์ž…๋ ฅํ•ด ์ค๋‹ˆ๋‹ค ์ผ๋ถ€๋ถ„๋งŒ ์ž…๋ ฅํ•ด๋„ ํ•˜๋‹จ์— ๋œน๋‹ˆ๋‹ค! Standard ๋ˆŒ๋Ÿฌ์ฃผ์‹œ๊ณ  Done ๋ˆŒ๋Ÿฌ ์ฃผ์„ธ์š” ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ํ‚ค๋ณด๋“œ์—์„œ ์ง€๊ตฌ๋ณธ ๋ชจ์–‘ ๋ˆ„๋ฅด์‹œ๋ฉด ์˜์–ด/ํ•œ๊ธ€ ํ† ๊ธ€ ๋ฉ๋‹ˆ๋‹ค ๐Ÿฅณ 2022. 9. 14.
[Swift] MVVMC ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ - ํŠœํ† ๋ฆฌ์–ผ 4 (child coordinator ์‚ญ์ œํ•˜๊ธฐ) 2022.07.10 - [๐ŸŽ iOS/Architecture Pattern] - [Swift] MVVMC ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ - ํŠœํ† ๋ฆฌ์–ผ 1 (Coordinator์™€ AppCoordinator ๊ตฌํ˜„ํ•˜๊ธฐ) 2022.07.11 - [๐ŸŽ iOS/Architecture Pattern] - [Swift] MVVMC ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ - ํŠœํ† ๋ฆฌ์–ผ 2 (childCoordinator๋กœ ์ด๋™ํ•˜๊ธฐ) 2022.07.12 - [๐ŸŽ iOS/Architecture Pattern] - [Swift] MVVMC ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ - ํŠœํ† ๋ฆฌ์–ผ 3 (๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ํ™”๋ฉด ์ „ํ™˜ํ•˜๊ธฐ) ํ•ด๋‹น ํŠœํ† ๋ฆฌ์–ผ์€ ์œ„ ๊ธ€๊ณผ ์ด์–ด์ง‘๋‹ˆ๋‹ค! ์ด์ „ ํฌ์ŠคํŒ…์—์„œ Coordinator์™€ ํ™”๋ฉด ์ „ํ™˜์— ๋Œ€ํ•ด ๋‹ค๋ฃจ์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. MVVMC์—์„œ View์™€ Coordinator์— ๋Œ€ํ•ด.. 2022. 9. 5.
[iOS] Fastlane์œผ๋กœ ์•ฑ ๋ฐฐํฌ ์ž๋™ํ™”ํ•˜๊ธฐ - ์ด๋ก ๊ณผ ์„ค์น˜ ์™œ Fastlane์„ ์‚ฌ์šฉํ–ˆ์„๊นŒ? ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ด์ „์— ์ง„ํ–‰ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์œ ์ง€ ๋ณด์ˆ˜๋ฅผ ๋งก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ์ง€ ๋ณด์ˆ˜ ์ค‘์ธ ์•ฑ์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋งŽ์ง„ ์•Š์ง€๋งŒ ์กฐ๊ธˆ์˜ ์ˆ˜์ •๋งŒ์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด 6๊ฐœ์˜ ์•ฑ์„ ๋นŒ๋“œํ•˜์—ฌ in house๋กœ ๋ฐฐํฌํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ QA๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•ด์•ผ ํ•  ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋‹ค์‹œ ์ˆ˜์ •์„ ํ•˜๊ณ  6๊ฐœ์˜ ์•ฑ์„ ๋นŒ๋“œํ•ด์„œ ๋ฐฐํฌํ•ด์•ผ ํ–ˆ์–ด์š”. QA๊ฐ€ ๋๋‚˜๋ฉด ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ณ„์ •์œผ๋กœ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ๋ฐฐํฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ ์ˆ˜์ •์ด๋‚˜ ์š”๊ตฌ ์‚ฌํ•ญ์€ ์ ์ง€๋งŒ ์กฐ๊ธˆ์˜ ์ˆ˜์ •์œผ๋กœ 6๊ฐœ์˜ ์•ฑ์˜ ๋นŒ๋“œ(ํ•˜๋Š” ๊ฒƒ๋„ ์˜ค๋ž˜ ๊ฑธ๋ฆผ)์™€ ๋ฐฐํฌํ•˜๋Š” ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ค์„œ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—๋„ ์˜ํ–ฅ์ด ์˜ค๋”๋ผ๊ตฌ์š”(์—ฌ๋Ÿฌ๊ฐœ์˜ ์•ฑ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ํšŒ์˜๋ฅผ ์ˆ˜์‹ญ ๋ฒˆ ํ–ˆ์ง€๋งŒ ์•ˆ์ •์„ฑ์˜ ์ด์œ .. 2022. 9. 5.
[CI/CD] ์ง€์†์  ํ†ตํ•ฉ๊ณผ ์ง€์†์  ๋ฐฐํฌ์˜ ๊ฐœ๋…๊ณผ ์žฅ์  Intro ์ด์ „์— ๊ต‰์žฅํžˆ ํฅ๋ฏธ๋กœ์šด ์˜์ƒ์„ ๋ณธ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ๊ธฐํšํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณต๋˜๋Š”์ง€์— ๊ด€๋ จ๋œ ์˜์ƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋ฒ„ํŠผ ๋ฐฐ์น˜๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๊ฒŒ ํ•ด์„œ ์–ด๋–ค ์œ„์น˜์˜ ๋ฒ„ํŠผ์ด ๋” ๋งŽ์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ˆŒ๋ ธ๋Š”์ง€ ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ , ์ด์— ๋”ฐ๋ผ ์˜์‚ฌ ๊ฒฐ์ •์„ ํ•œ๋‹ค๋Š” ๋‚ด์šฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ์ด ๋ฒ„ํŠผ์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž˜ ๊ตฌ์ถ•ํ•ด ๋†“์•„์„œ ์กฐ๊ธˆ์˜ ์ˆ˜์ •์œผ๋กœ ๋น ๋ฅด๊ฒŒ A์•ˆ B ์•ˆ์„ ํ…Œ์ŠคํŠธ ํ•ด ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ž‘์€ ์ผ๋ถ€๋ถ„์„ ์ˆ˜์ • ํ•˜๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๋‹ค ๋ณด๋ฉด ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜๊ณ  ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐฐํฌํ•˜์—ฌ ์„œ๋น„์Šคํ•˜๋Š” ์ผ์ด ์žฆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๊ฒŒ ๋˜๋ฉด ์ด ์ฝ”๋“œ์— ๋Œ€ํ•œ ๊ฒ€์ฆ์„ ์œ„ํ•ด ๋‚ด๋ถ€์ ์œผ๋กœ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•˜๊ณ  QA๊ฐ€ ์ด๋ฃจ์–ด์ง„ .. 2022. 9. 3.
unable to boot the simulator launchd failed to respond ํ•ด๊ฒฐ๋ฒ• ์ƒ๋‹จ xCode ํด๋ฆญ > Preferences ํด๋ฆญ Locations ํƒญ ํด๋ฆญ > ํ•˜๋‹จ Derived Data ์˜ ํด๋” ๊ฒฝ๋กœ์—์„œ ํด๋” ์ด๋™ํ•˜๊ธฐ ์•„์ด์ฝ˜ ํด๋ฆญ ํด๋”์—์„œ ํ•„์š”์—†๋Š” DerivedData ์ง€์›Œ ์ฃผ๊ธฐ ๋นŒ๋“œ ํ›„ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์žฌ ์‹คํ–‰ 2022. 8. 22.
[iOS/Swift] UIImagePickerController ์‚ฌ์šฉํ•˜๊ธฐ UIImagePickerController ๊ฐ์ฒด ์ƒ์„ฑ private lazy var picker = UIImagePickerController().then { $0.delegate = self } or var picker = UIImagePickerController() override func viewDidLoad() { picker.delegate = self } ๋ฒ„ํŠผ target ์„ค์ • imageButton.addTarget(self, action: #selector(presentPhotoPicker), for: .touchUpInside) @objc func presentPhotoPicker() { present(picker, animated: true) } UIImagePickerControlle.. 2022. 8. 21.
[Swift/iOS] UICollectionView layout ์—…๋ฐ์ดํŠธ collectionView.collectionViewLayout.invalidateLayout() ๋ ˆ์ด์•„์›ƒ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„๋•Œ ๋ช…์‹œ์ ์œผ๋กœ ๋ ˆ์ด์•„์›ƒ์„ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Œ 2022. 8. 20.
[iOS/Swift] UITableView Header ๋†’์ด ์—…๋ฐ์ดํŠธ ํ•˜๊ธฐ ์Šคํฌ๋กค ์‹œ UITableView Header๋ฅผ ๊ณ ์ • ์‹œํ‚ฌ ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ ํ—ค๋”์— ์žˆ๋Š” ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ํ—ค๋”์˜ ๋†’์ด๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ex) ํ—ค๋” ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๊ฒ€์ƒ‰ ์˜์—ญ ๋…ธ์ถœ UITableViewHeaderFooterView ์— ๋†’์ด ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ์ฝ”๋“œ ์ž‘์„ฑ func toggleHeight() { containerView.snp.updateConstraints { make in make.height.equalTo(searchButton.tag).priority(.high) } } header ์ง€์ •ํ•˜๋Š” Delegate์—์„œ ํ—ค๋”์˜ ๋ฒ„ํŠผ์— addTarget ํ•ด์คŒ ์ด๋•Œ ์—ฐ๊ฒฐํ•œ ํ•จ์ˆ˜๋Š” updateHeader func tableView(_ tableView: UITableView, viewForHeaderInSectio.. 2022. 8. 17.
[Swift] MVVMC ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ - ํŠœํ† ๋ฆฌ์–ผ 3 (๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ ํ™”๋ฉด ์ „ํ™˜ํ•˜๊ธฐ) 2022.07.10 - [๐ŸŽ iOS/Architecture Pattern] - [Swift] MVVMC ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ - ํŠœํ† ๋ฆฌ์–ผ 1 2022.07.11 - [๐ŸŽ iOS/Architecture Pattern] - [Swift] MVVMC ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ - ํŠœํ† ๋ฆฌ์–ผ 2 ํ•ด๋‹น ํŠœํ† ๋ฆฌ์–ผ์€ ์œ„ ๊ธ€๊ณผ ์ด์–ด์ง‘๋‹ˆ๋‹ค! ์ด์ „ ํฌ์ŠคํŒ… ๊นŒ์ง€ ๋ณด๊ณ  ์˜ค์…จ๋‹ค๋ฉด AppCoordinator์—์„œ LanindCoordinator๋ฅผ childCoordinator๋กœ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ LandingViewController๋ฅผ ํ™”๋ฉด์— ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ ๊นŒ์ง€ ๋˜์–ด ์žˆ์„๊ฑฐ์—์š”! ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” view์˜ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ํ™”๋ฉด ์ „ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Landing ํ™”๋ฉด์—์„œ Register(ํšŒ์›๊ฐ€์ž…)๊ณผ Login(๋กœ๊ทธ์ธ) ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  .. 2022. 7. 12.
[Swift] MVVMC ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ - ํŠœํ† ๋ฆฌ์–ผ 2 (childCoordinator๋กœ ์ด๋™ํ•˜๊ธฐ) 2022.07.10 - [๐ŸŽ iOS/Architecture Pattern] - [Swift] MVVMC ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ - ํŠœํ† ๋ฆฌ์–ผ 1 ์œ„ ํฌ์ŠคํŒ… ํ›„์— ์ด์–ด์„œ ํ•˜๋Š” ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค ๐Ÿ™Œ๐Ÿป LandingCoordinator AppCoordinator๋Š” ์•ฑ์„ ์ฒ˜์Œ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ์ฒซ ํ™”๋ฉด์„ ์–ด๋–ค ํ™”๋ฉด์œผ๋กœ ํ• ์ง€ ๋‹ด๋‹นํ•˜๋Š” Coordinator์ž…๋‹ˆ๋‹ค. ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ(dependency)๋ฅผ ์ค€๋น„ํ•˜๊ณ  ๋„คํŠธ์›Œํ‚น์„ ์œ„ํ•œ ๊ฐ์ฒด๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด AppCoordinator์—์„œ Landing ํ™”๋ฉด์„ ๋ณด์—ฌ์ค„ ์ˆ˜๋„ ์žˆ๊ณ , ์ž๋™ ๋กœ๊ทธ์ธ์ด ๋˜์–ด ์žˆ๋‹ค๋ฉด HomeCoordinator๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„  LandingCoordinator์„ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. import UIKit class LandingCo.. 2022. 7. 11.
[Swift] MVVMC ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ - ํŠœํ† ๋ฆฌ์–ผ 1 (Coordinator์™€ AppCoordinator ๊ตฌํ˜„ํ•˜๊ธฐ) ๊ทธ ๋™์•ˆ MVVM๊ณผ MVVMC ๊ทธ๋ฆฌ๊ณ  Coordinator์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜น์‹œ MVVM์ด๋‚˜ MVVMC๊ฐ€ ์ƒ์†Œํ•˜์‹œ๋‹ค๋ฉด ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ์ข‹์„๊ฑฐ ๊ฐ™์•„์š”! ๋งŒ์•ฝ MVVM์ด ๋ญ”์ง€ ์ž์„ธํžˆ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด ๐Ÿ‘‡ 2022.06.04 - [๐ŸŽ iOS/Architecture Pattern] - [Swift] MVVM ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ธฐ MVVM-C๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด ๐Ÿ‘‡ 2022.06.11 - [๐ŸŽ iOS/Architecture Pattern] - [Swift] MVVMC ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ธฐ Coordinator์˜ ์—ญํ™œ์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ๐Ÿ‘‡ 2022.06.14 - [๐ŸŽ iOS/Architecture Pattern] - [Swift] MVVMC์˜ Coordinator ์•Œ์•„๋ณด๊ธฐ ์šฐ์„  MVVMC ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์€ ๊ต‰์žฅํžˆ ๋งŽ์Šต.. 2022. 7. 10.
[iOS/Swift] UIButton in iOS15 WWDC ์ •๋ฆฌ Buttons 4๊ฐ€์ง€ ๊ธฐ๋ณธ style Button configuration config.image ํ”„๋กœํผํ‹ฐ์—์„œ ์ง€์ •ํ•œ ์ด๋ฏธ์ง€์˜ ์œ„์น˜๋ฅผ imagePlacement๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์น˜๋ฅผ ์ง€์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ์Œ addToCartButton.configurationUpdateHandler = { [unowned self] button in // ์ด๋ฏธ ๋ฒ„ํŠผ์— ์ง€์ •๋˜์–ด ์žˆ๋Š” configuration์„ ๋ฐ›์•„์˜ด var config = button.configuration // ๋ฒ„ํŠผ์ด highligted ๋ฌ์„ ๋•Œ fill์ด๋ฏธ์ง€๋กœ ์ง€์ •ํ•˜๊ณ  ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” outline์ด๋ฏธ์ง€๋ฅผ ์ ์šฉ config?.image = button.isHighlighted ? UIImage(systemName: "cart.fill.badge.plus") :.. 2022. 6. 29.