ios(47)
-
[Swift] SnapKit vs AutoLayout & Pros and cons of using 3rd-Party
SnapKit vs AutoLayout - ์ฝ๋ Base๋ก Programmaticallyํ๊ฒ UI๋ฅผ ๊ตฌํํ ๋ ๋ง์ฃผ์น๋ ๊ณ ๋ฏผ SnapKit is a powerful auto layout library with a minimal amount of code to minimize developer work in managing constraints. SnapKit doesn't really solve any problems inherent with IB. It all boils down to user preference, though my personal recommendation is to stick to IB because that is the standard layout tool and it's very..
2023.01.26 -
UMC iOS 10์ฃผ์ฐจ ์ธ๋ฏธ๋
3. ์ค์ํํธ๊ฐ ํ๊ฐ๋์ง ์์ HTTP ํต์ ์ ๋ง์ -> infoPlist์์ ์ค์ ํด์ฃผ์ด์ผ ํ๋ค. (๋น๋๋ถํฐ ์๋ฌ๋จ) - ๋๋ ๋ฐ์ํ๋ ์๋ฌ! ์ฑ์ฅ ๊ฐ๋ฅํ iOS ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด? ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ณธ์ ์ธ ์๋ ์๋ฆฌ๋ ์๊ณ ์ฐ์ ์ง๋ ์ฃผ์ ๊ฐ๋จํ๊ฒ ์์๋ณธ ์๋ฒ ํต์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์๋ฒ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ ์, ์์๋ณด๋ฉด ์ข์ ๋ด์ฉ์ด๋ค. ๊ฐ์ฅ ์ด๋ ค์ ๋ ๊ณผ์ ์ด ์ฒ์์ผ๋ก ์๋ฒ๋ฅผ iOS์์ ํ์ฉํ ๋์๋ ๊ธฐ์ต์ด ์๋ค. ๋ก๊ทธ์ธ์ ์ฑ์๋น์ค์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์ ์ฅ์์๋, ๋ก๊ทธ์ธ ์ดํ์ ๋ท๊ณผ์ ์ด ๋ ์ค์ํ๋ค. ์๊ฐํด๋ณด๋ฉด ์ข์ ๊ฒ - ์ฐ๋ฆฌ๊ฐ ์ดํ ์ฌ์ฉํ ๋ ๋ก๊ทธ์ธ ์ดํ์ ์ด๋ค ์ผ์ด ์ผ์ด๋๋์ง? ์๋ ๋ก๊ทธ์ธ(User defaults), ๋ง์ด ํ์ด์ง ํญ, ๋ก๊ทธ์ธ ์ ๋ณด์ ์ฐ๋๋ ๋ฐ์ดํฐ๋ค, ๋๋ค์, ํ๋กํ ์ปค๋ฎค๋ํฐ ์ดํ์ ๋ด๊ฐ ์์ฑํ..
2022.11.28 -
2022 CMC & CX DemoDay (2022. 11. 19 ํ ์์ผ)
2022 CMC & CX DemoDay ํ์ฌ ํ๊ธฐ UMC ๋์ค์ฝ๋๋ฅผ ํตํด CMC DemoDay ํ์ฌ์ ๋ํด ์ ํ ์ ์์๋ค! festa๋ฅผ ํตํด ์ ์ฒญํ ํฐ์ผ QR ์ฝ๋๋ฅผ ๋ณด์ฌ์ฃผ๋ฉด, ํ์ฌ ํ์ฐ๋ฅผ ์ฐฉ์ฉํ๊ณ ์ ์ฅํ ์ ์๋ค. https://festa.io/events/2834 2022 CMC & CX DemoDay | Festa! Festa์์ ๋น์ ์ด ์ฐพ๋ ์ด๋ฒคํธ๋ฅผ ๋ง๋๋ณด์ธ์. festa.io https://makeus-challenge.notion.site/11th-CMC-2nd-CMC-CX-DemoDay-8d6f63e4bb4847ad82c0c37a77e34b69 ์ ํ ์์นด๋ฐ๋ฏธ์์ ๋ถ์ค๋ฅผ ์ด์ํ๋ ๊ฒฝํ์ ๋ ์ฌ๋ฆฌ๋ฉฐ, , ๋ค์ ๋งคํฌ๋ก ์ฒผ๋ฆฐ์ง ๋ถ์ค์์ ํ์ฉํ ์ ์๋ ๋ค์ํ ์์ด๋์ด๋ค์ ์ป์ ์ ์์๋ค. ํนํ ํ๋ง..
2022.11.21 -
[UI-Kit] CollectionView Cell Selection / Deselection
# shouldSelecItemAt func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool { guard let cell = collectionView.cellForItem(at: indexPath) as? SelectPlanetCollectionViewCell else { return true } if cell.isSelected { // TODO: ํ์ ๋ชจ๋๋ก ๋ณํ cell.planetNameLabel.textColor = .white cell.backgroundView = nil self.navigationController?.topViewController?.titl..
2022.11.15 -
UMC iOS ์ธ๋ฏธ๋ 8์ฃผ์ฐจ
9:20 ~ ๋ ์ด์์์ ๋ฐ๊พธ๊ณ ์ถ์ ๋ ์คํ ๋ฆฌ๋ณด๋์ ์กํ์๋ ์คํ ๋ ์ด์์์ ๋์ด์ฌ ์ ์๋ค ํ๋ ์ค์ ์ ๋๊ณ ์จ๋ค. (IBOutlet์ผ๋ก ์ฌ์ฉ) ์ฐ๋ฆฌ์ ๋ชฉํ: ์ค๋ ์ง ๋ทฐ์ ํ๊ณผ ํค์ดํธ ์์๊ฐ์ ๋ณํ์ํจ๋ค ์ ๋๋ฉ์ด์ ์ด ์ ์ฉ์ด ์๋๊ณ (3์ด๊ฐ) ๋ฐ๋ก ์ซ ํด์ง -> ๋ณ๊ฒฝ๋ UI ๋ด์ฉ์ด ๋ฐ์๋์ด์ผ ํ๋ค. -> ๋ณ๊ฒฝ๋์ง ์๋ ๊ฒ : ๋ ์์ธํ๊ฒ ์์๋ณด์ layout์ ์ ๋ฐ์ดํธ๋ฅผ ๋ช ๋ นํ๋ ์ฝ๋๊ฐ ๊ผญ ํ์ํ๋ค ์ ์ ๋๋ฉ์ด์ ์ด ์ ์ฉ์ด ์๋์ง? ํด๋ฉ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค. layoutIfNeeded() ๊ผญ ํ์ฉ! ๋ฐ๋ก๋ฐ๋ก UI ์ ๋ฐ์ดํธ๋ค์ด ์ ์ฉ์ด ๋๋ค. ์ ๋๋ฉ์ด์ ์ ์ฉํ ๋๋, UIView์ animate ๋ฉ์๋๋ฅผ ํ์ฉํ ์ ์๋ค. animate ๋ฉ์๋์๋ ๋ค์ํ parameter์ด ์๋๋ฐ, ๊ทธ๊ฒ ์ค์์ ํ์ํ ๊ฒ๋ง ํ์ฉ..
2022.11.14 -
2022. 11. 04 : Architecture Kick - off
Architecture (11/4 ๊ฐ์ฆ์) View controller View ๋ผ๋ ์ค๋ ๋๊ฐ ํ์์ด ๋๋คOS์์๋ Process์์ ์๋ง์ thread๊ฐ ๋๋ค ์ํคํ ์ณ๋?ํ๋์ view๋ง ๋ณธ๋ค๋ฉด ์ฌ๋ฌ ์ปดํฌ๋ํธ์ ๋ชจ์์ด์ง๋ง,๋์ ์ธ (๋ฐํ์) ์ธก๋ฉด์์๋ Process, App ํ๋๋ฅผ ์๋ฏธ๋ฉ๋ชจ๋ฆฌ์์ ์ฃฝ์ง ์๋ ์์ญ ๋์ ์ด๊ณ ์ ์ ์ธ ์ธก๋ฉด์ ๋ค ๋ณด์์ผ ํ๋ค.MVC: Logical architecture Runtime architectureProcess, Thread ์ค์ ๋ก ๋ฐํ์์์ ๋ฐ๋ผ๋ณด๋ ๊ตฌ์กฐ (OS๊ฐ ์ธ์ํ๋ ๊ตฌ์กฐ)๋ ๊ฐ์ ์ฑ์ด ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํด์ผ ํ๋ค๋ฉด?ํ๋ก์ธ์ค: ๋ฐ์ดํฐ๋ฅผ ์ ์ํ์ง ์๋๋ค.๊ทธ๋ผ? ์ธ์ ๋ฉ์ธ์ง ํต์ ๋ฑ๋ฑ์ ๋ฐฉ๋ฒ์ด ์๋ค. Conceptual architecture ์ฐ์์์ ๋ง๊ฒ ๋ถ์ธ ์ด๋ฆ๋ค์ด..
2022.11.07 -
UMC iOS ์ธ๋ฏธ๋ 7์ฃผ์ฐจ : DB
์ค๋ ๋์ ์ด์์ฒด์ ๋ฅผ ์ ๋ค๋ฃจ๋๊ฒ iOS์์ ๋ง์ด ์ค์ํ๋ค. iOS ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ํ์ฉํ์ฌ ์์ ํ ๋ ๋์์ด ๋ ๊ฒ DBMS ์น๋ช ์ ์ธ ๋จ์ ๋ฐ์ดํฐ๋ฅผ ํ์ผ ํ์์ผ๋ก ๋ค๋ฃฌ๋ค ์ํ ๊ฐ์ ๊ฒฝ์ฐ -> ๋ณด์์ ๋ฌธ์ ๊ฐ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌ RDBMS ๋ฐ์ดํฐ๊ฐ ํ ์ด๋ธ ํํ๋ก ์กด์ฌ ํ ์ด๋ธ ํ์์ ์คํค๋ง, ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ์ฑ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ํ์ผ ํํ๋ก ์ ์ฅํ๋ DBMS์์ ๋จ์ ์ ๋ณด์ํจ PK : Primary key, ๊ธฐ๋ณธํค FK : Foreign Key, ์ธ๋ํค SQL ํ ์ด๋ธ์ ํตํด ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ์์ฑ ๋ฐ ์ญ์ , ์ ๋ฐ์ดํธ๋ฅผ ํ๊ธฐ ์ํ ์ธ์ด ์ ๋ฆฌ ์ํ์ ์ ์ฐ ๋ฐ์ดํฐ์ ๊ฐ์ ๊ฒ๋ค ๋ฐ์ดํฐ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ๋ฌถ์ฌ์๋ค. ์ด๋ฌํ DB๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ ์ผ๋ก ๊ด๋ฆฌํ๋ค. RDBMS๊ฐ ๋ฌด์กฐ๊ฑด DBMS๋ณด๋ค ์ข์ ๊ฒ์ ..
2022.11.07 -
[iOS APP] ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ์ฉํ ์๋ ์ดํ _ UMC 6์ฃผ์ฐจ ๋ฏธ์
https://github.com/SohyeonKim-dev/UMC-iOS/tree/main/Week6 GitHub - SohyeonKim-dev/UMC-iOS: ๐ UMC 3rd ๊ฒฝํฌ๋ - iOS Challenge ๐ UMC 3rd ๊ฒฝํฌ๋ - iOS Challenge . Contribute to SohyeonKim-dev/UMC-iOS development by creating an account on GitHub. github.com ์์ ์ฝ๋: https://hkoonsdiary.tistory.com/14 Git-hub: https://github.com/SohyeonKim-dev/UMC-iOS/tree/main/Week6 ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ Label๊ณผ datePicker ์์์ ๋ณ๊ฒฝํ๋ค. +..
2022.11.02 -
UMC iOS ์ธ๋ฏธ๋ 6์ฃผ์ฐจ: Thread
DispatchQueue.main() -> main ์ค๋ ๋, UI ๊ด๋ จ ์์ ์ ๋ฐ๋์ ๋ฉ์ธ ์ค๋ ๋์์๋ง! DispatchQueue.global() -> ์ด์ธ์ ๋ค์ํ ์ฒ๋ฆฌ๋ค์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ == global ์ด๋, UI ๊ด๋ จ ์์ ์ main์์! ๋ฐ๋ผ์ global ๋ด๋ถ์์, UI ์ฝ๋๋ง main์ผ๋ก ๊ฐ์ผ๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋๋ฆฌ๋ฉด์, ํด๋น ์์ ์ main์ผ๋ก ๊ฐ์ ธ๊ฐ๋ ๊ฒ ์ด์ ์ ๋์คํจ์น ํ ์ฝ๋๋ฅผ ์ ๋ ๊ฒ ์ฐ๋์ง ์ดํด๊ฐ ๊ฐ๋ค ;;
2022.10.31 -
UMC iOS 5์ฃผ์ฐจ ์ธ๋ฏธ๋ (10/17 ์์์ผ)
https://developer.apple.com/documentation/uikit/uitableviewcell/1623223-prepareforreuse If a UITableViewCell object has a reuse identifier, the table view invokes this method just before returning the object from the UITableView method dequeueReusableCell(withIdentifier:). To avoid potential performance issues, you should only reset attributes of the cell that are not related to content, for exa..
2022.10.18