μ†ŒμŠ€νŠΈλ¦¬λ₯Ό μ‚¬μš©ν•œ Xcdoe와 Github Repository 연동

κ³Όμ œν•˜λ©΄μ„œ 브랜치 λ³„λ‘œ λ‚˜λˆ  과정을 κΈ°λ‘ν•˜κ³ κ³Όμ œλ₯Ό μ œμΆœν•˜κΈ° μœ„ν•΄μ„œ κΉƒν—ˆλΈŒμ— 컀밋/ν‘Έμ‰¬ν•˜λŠ”κ³Όμ •λ“€μ„ 자주 λ§žμ΄ν•˜κ²Œ λœλ‹€.  κ·Έλ™μ•ˆμ— 이 과정이 λ„ˆλ¬΄ ν—·κ°ˆλ €μ„œλ§Žμ€ λΆ„λ“€μ˜ 도움을 계속 λ°›μ•„μ™”λ”λ‹ˆκ³„μ† λ¬Όμ–΄λ³΄κ²Œ λ˜λŠ” 것 κ°™μ•„ 이참에 정리λ₯Ό ν•˜κ²Œ λ˜μ—ˆλ‹€. μ—¬λŸ¬ 방법듀이 μžˆμ§€λ§Œ κ·Έ μ€‘λ‚˜μ—κ²Œ κ°€μž₯ νŽΈν•œ λ°©λ²•λ“€λ‘œ 정리λ₯Ό ν•΄λ³Έλ‹€.   1. Xcodeμ—μ„œ Git 연동Intergrate μ—μ„œ New Git Repository 클릭    μ™Όμͺ½ λ©”λ‰΄λ°”μ—μ„œ Repositories  ->  Remotes  -> New "~~~" Remote     2. λ‚΄ μ»΄ν“¨ν„°μ—μ„œ μž‘μ„±ν•œ Xcode 파일 μ†ŒμŠ€νŠΈλ¦¬μ— μ—…λ‘œλ“œ λ“œλž˜κ·Έμ•€λ“œλžμœΌλ‘œ λ‚΄ μ»΄ν“¨ν„°μ—μ„œ μž‘μ—…ν•œ Xcode νŒŒμΌμ„ μ†ŒμŠ€νŠΈλ¦¬μ— μ—…λ‘œλ“œν•œλ‹€.    μ†ŒμŠ€νŠΈλ¦¬μ— 듀어가보면 μ΄λ ‡κ²Œ μ½”λ“œκ°€ λ“€μ–΄μ˜¨ ..

🍎 iOS/Git&GitHub 2024. 6. 16. 21:19

객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°(OPP)

λ©€ν‹°νŒ¨λŸ¬λ‹€μž„ μ–Έμ–΄,  Swiftμ½”λ“œλ₯Ό μ„€κ³„ν•˜κ³  κ΅¬ν˜„ν•˜λŠ” 방법(νŒ¨λŸ¬λ‹€μž„)은 λ‹€μ–‘ν•˜λ‹€.ν˜„λŒ€μ μΈ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ” λŒ€λΆ€λΆ„ 2개 μ΄μƒμ˜ νŒ¨λŸ¬λ‹€μž„μ„ κ΅¬ν˜„ν•  수 μžˆλŠ” λ©€ν‹°νŒ¨λŸ¬λ‹€μž„ 언어이닀. SwiftλŠ” μ•„λž˜μ™€ 같은 νŒ¨λŸ¬λ‹€μž„μ„ κ΅¬ν˜„ν•˜κ³  μžˆλ‹€.Object-Oriented Programming(객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°) Protocol-Oriented Programming(ν”„λ‘œν† μ½œ 지ν–₯ ν”„λ‘œκ·Έλž˜λ°) Functianal Programming(ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°)  κ°μ²΄ 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ΄λž€?객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ€ μ†Œν”„νŠΈμ›¨μ–΄ 개발 νŒ¨λŸ¬λ‹€μž„ 쀑 ν•˜λ‚˜λ‘œ, 데이터λ₯Ό κ°μ²΄λΌλŠ” λ‹¨μœ„λ‘œ λ‚˜λˆ„μ–΄ ν”„λ‘œκ·Έλž˜λ°ν•˜λŠ” 방법 쀑 ν•˜λ‚˜. μ ˆμ°¨μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ° : ν”„λ‘œκ·Έλž¨μ„ λͺ…λ Ήμ˜ μˆœμ„œμ™€ 절차둜 λ³΄λŠ” 방식. ν”„λ‘œκ·Έλž¨μ„ λΉ λ₯΄κ²Œ λ§Œλ“€ λ•Œ μœ μš©ν•˜λ‹€.객체지ν–₯ ν”„λ‘œκ·Έλž˜..

🍎 iOS 2024. 6. 7. 23:57

객체 지ν–₯ 섀계λ₯Ό μœ„ν•œ SOLID 원칙

SOLID : 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ˜ 4가지 νŠΉμ„±(좔상화/μΊ‘μŠν™”/상속/λ‹€ν˜•μ„±)κ³Ό μž₯점을 λ°”νƒ•μœΌλ‘œ ν•œ μ„€κ³„μ˜ 5가지 핡심 원칙 μ‹œμŠ€ν…œμ— μƒˆλ‘œμš΄ 변경사항이 μžˆμ„ λ•Œ μ½”λ“œμ˜ μœ μ—°μ„±κ³Ό μž¬μ‚¬μš©μ„±μ„ 높이고, 변화에 κ°•ν•œ ꡬ쑰λ₯Ό λ§Œλ“€ 수 μžˆλ‹€.   1. 단일 μ±…μž„ 원칙(Single Responsibility Principle, SRP)각 ν΄λž˜μŠ€λŠ” ν•˜λ‚˜μ˜ μ±…μž„λ§Œμ„ κ°€μ Έμ•Ό ν•œλ‹€.ν΄λž˜μŠ€λŠ” ν•˜λ‚˜μ˜ κΈ°λŠ₯λ§Œμ„ λ‹΄λ‹Ήν•˜κ³  κ·Έ κΈ°λŠ₯에 λŒ€ν•΄ μΊ‘μŠν™”λ˜μ–΄μ•Ό ν•œλ‹€. → 변경이 ν•„μš”ν•  λ•Œ μˆ˜μ •ν•  λŒ€μƒμž„ λͺ…확해짐, μ½”λ“œμ˜ 가독성 ν–₯상, μœ μ§€λ³΄μˆ˜ 용이  ν•˜λ‚˜μ˜ ν΄λž˜μŠ€κ°€ μ—¬λŸ¬ μ±…μž„μ„ κ°€μ§€κ²Œ 되면, ν•˜λ‚˜μ˜ μ±…μž„μ΄ 변경될 λ•Œλ§ˆλ‹€ 클래슀 λ‚΄λΆ€μ˜ λ™μž‘μ΄μ—°μ‡„μ μœΌλ‘œ λ³€κ²½λ˜κΈ° λ•Œλ¬Έμ— μœ μ§€λ³΄μˆ˜κ°€ λΉ„νš¨μœ¨μ μ΄λ‹€.  πŸ”— μ°Έκ³ ν•˜κΈ° 쒋은 λΈ”λ‘œκ·Έ 링크    2. 개방 ..

🍎 iOS 2024. 6. 4. 16:04

ν΄λž˜μŠ€μ™€ ꡬ쑰체의 μ΄ˆκΈ°ν™”(Initialization)/ μƒμ„±μž(Initializer) / μ†Œλ©Έμž(Deinitializer)

πŸ”Ž  1 . μ΄ˆκΈ°ν™”(Initialization)ν΄λž˜μŠ€κ°€λŠ₯ν•œ μƒνƒœλ‘œ λ§Œλ“œλŠ” 것(μ—΄κ±°ν˜•μ€ μ €μž₯속성이 μ‘΄μž¬ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— case 쀑에 ν•œκ°€μ§€λ₯Ό 선택 및 생성) μƒμ„±μžλŠ” μ΄ˆκΈ°ν™” ν•΄μ£ΌλŠ” λ©”μ„œλ“œλΌκ³  μƒκ°ν•˜λ©΄ λœλ‹€. μ„€κ³„도(클래슀, ꡬ쑰체, μ—΄κ±°ν˜•)을 μ‹€μ œλ‘œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ μΈμŠ€ν„΄μŠ€λ₯Ό μ°μ–΄λ‚΄λŠ” κ³Όμ • μƒμ„±μžλ„ μ˜€λ²„λ‘œλ”©(overloading)이 κ°€λŠ₯ν•˜λ‹€. -> μ—¬λŸ¬ λ°©μ‹μœΌλ‘œ μΈμŠ€ν„΄μŠ€λ₯Ό 생성할 수 μžˆλ‹€.  μ €μž₯ μ†μ„±μ˜ μ΄ˆκΈ°κ°’μ„ μ„€μ •ν•˜λ©΄ μ»΄νŒŒμΌλŸ¬λŠ”κΈ°λ³Έ μƒμ„±μž init()을 μžλ™ κ΅¬ν˜„ν•œλ‹€. μ €μž₯ 속성이 μ˜΅μ…”λ„ νƒ€μž…μœΌλ‘œ μ„ μ–Έν•˜λ©΄ 초기 값이 없어도 nil둜 μ΄ˆκΈ°ν™”λ˜μ–΄ μƒμ„±μžλ₯Ό κ΅¬ν˜„ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€. class Numbers { var num1: Int = 1 var num2: Int = 3 //init()..

🍎 iOS 2024. 6. 4. 14:15

[ Swift 기초 문법 ] 클래슀 상속

πŸ”Ž  1 . 클래슀의 상속(Inheritance)ν΄λž˜μŠ€μ—λ§Œ μžˆλŠ” κ°œλ… - 성격이 λΉ„μŠ·ν•œ νƒ€μž…μ„ μƒˆλ‘œ λ§Œλ“€μ–΄μ„œ 데이터λ₯Ό μΆ”κ°€(μ €μž₯ 속성)ν•˜κ±°λ‚˜ κΈ°λŠ₯(λ©”μ„œλ“œ)λ₯Ό λ³€ν˜•μ‹œμΌœ μ‚¬μš©- μžμ‹ ν΄λž˜μŠ€κ°€ λΆ€λͺ¨ ν΄λž˜μŠ€μ—μ„œ μ •μ˜λœ ν”„λ‘œνΌν‹°μ™€ λ©”μ„œλ“œλ₯Ό λ¬Όλ € λ°›λŠ”λ‹€. λΆ€λͺ¨ 클래슀 = μƒμœ„ 클래슀 = 슈퍼 클래슀 = κΈ°λ³Έ ν΄λž˜μŠ€μžμ‹ 클래슀 = ν•˜μœ„ 클래슀 = μ„œλΈŒ 클래슀 = νŒŒμƒ 클래슀          πŸ”Ž  2. μž¬μ •μ˜(Overrideing)μ˜€λ²„λΌμ΄λ”©(Overriding)  vs.  μ˜€λ²„λ‘œλ”©(Overloading) μƒμœ„ 클래슀의 속성/λ©”μ†Œλ“œ μž¬μ •μ˜    /       ν•˜λ‚˜μ˜ ν•¨μˆ˜ 이름에 μ—¬λŸ¬ ν•¨μˆ˜ λŒ€μ‘μ‹œμΌœ μ‚¬μš©                                               μ¦‰, λΆ€λͺ¨ 클래슀의 속성/λ©”μ„œλ“œλ₯Ό..

🍎 iOS/Swift 2024. 6. 4. 02:06

[Design Patterns] 싱글톀(Singleton) νŒ¨ν„΄

πŸ”Ž  1 . 싱글톀 νŒ¨ν„΄ μœ μΌν•˜κ²Œ ν•˜λ‚˜λ§Œ μ‘΄μž¬ν•˜λŠ” 객체λ₯Ό λ§Œλ“€κ³  싢을 λ•ŒνŠΉμ • 클래슀의 μΈμŠ€ν„΄μŠ€κ°€ μ•±μ „μ²΄μ—μ„œ ν•˜λ‚˜λ§Œ μ‘΄μž¬ν•˜κ³  μ•± μ „μ—­μ—μ„œ λͺ¨λ‘ μ ‘κ·Όν•  수 μžˆλ„λ‘ ν•˜λŠ” λ””μžμΈ νŒ¨ν„΄μ΄λ‹€.  1. κ°œλ³„μ μΈ μΈμŠ€ν„΄μŠ€λ₯Ό 생성할 ν•„μš”κ°€ μ—†μŒ2. 단 ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό μž¬ν™œμš©ν•΄μ„œ μ—¬λŸ¬ κ³³μ—μ„œ ν™œμš©ν•  λ•Œ 적합.  μœ„μΉ˜μ„œλΉ„μŠ€, λ‘œκΉ… μ„œλΉ„μŠ€, UserDefaults 전체 관리 클래슀, λ„€νŠΈμ›Œν¬ 쀑볡 둜직 관리 클래슀 등에 μ‚¬μš© κ°€λŠ₯  static ν‚€μ›Œλ“œκ°€ λΆ™μœΌλ©΄ 제일 λ¨Όμ € 호좜될 λ•Œ λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°„λ‹€. μ‹±κΈ€ν†€ 객체가 뢈리고 λ‚œ λ’€ 앱이 μ’…λ£Œλ  λ–„κΉŒμ§€ λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°€ μžˆλŠ” μƒνƒœμ΄κΈ° λ•Œλ¬Έμ—ν˜ΈμΆœν•˜λŠ” λͺ¨λ“  뢀뢀은 단 ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό 바라보고 μ ‘κ·Όν•œλ‹€. μ΄λ•Œ, λ©”λͺ¨λ¦¬μ μœΌλ‘œ 손해λ₯Ό 보지 μ•ŠλŠ”μ§€ λ°˜λ“œμ‹œ κ³ λ €ν•΄λ³Ό 것.   class S..

🍎 iOS/Patterns & Arch 2024. 6. 3. 18:01

Git & GitHub κΈ°λ³Έ κ°œλ…

1. Git & GitHub μ°¨μ΄μ βœ… Git: 컴퓨터에 μ„€μΉ˜λ˜λŠ” SW둜 λΆ„μ‚° 버전 관리 μ‹œμŠ€ν…œ(VCS)Git은 λ‘œμ»¬μ €μž₯μ†Œ(λ‚΄ 컴퓨터)와 원격 μ €μž₯μ†Œ(μ„œλ²„ 컴퓨터)둜 λ‚˜λ‰œλ‹€.  Gitμ—μ„œ 원격 μ €μž₯μ†ŒλŠ” μ½”λ“œμ˜ μ›λ³Έμ΄λ‚˜ λ³€κ²½ 내역을 μ €μž₯ν•˜λŠ” 역할을 ν•œλ‹€.μ†ŒμŠ€ μ½”λ“œμ˜ λ³€κ²½ 이λ ₯을 κ΄€λ¦¬ν•˜κ³  μ—¬λŸ¬ μ‚¬λžŒμ΄ λ™μ‹œ μž‘μ—… κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€.  μ΄λŸ° κΈ°λŠ₯을 ν•˜λŠ” νˆ΄μ„ ν˜•μƒ 관리 툴이라고 ν•˜κ³ , λŒ€ν‘œμ μœΌλ‘œ Git, SVN, CVS 등이 μžˆλ‹€.   * repository(repo) : Git으둜 κ΄€λ¦¬λ˜λŠ” ν”„λ‘œμ νŠΈλ‚΄ 컴퓨터에 μ €μž₯λ˜μ–΄ μžˆλŠ” λ ˆν¬μ§€ν† λ¦¬λ₯Ό 둜컬 repo,Github 같은 μ›Ή μ„œλΉ„μŠ€μ— μ €μž₯λ˜μ–΄ μžˆλŠ” λ ˆν¬μ§€ν† λ¦¬λ₯Ό 원격 repo라고 ν•œλ‹€.    βœ… GitHub: λΆ„μ‚° 버전 관리 툴인 Git으둜 κ΄€λ¦¬ν•˜λŠ” ν”„λ‘œμ νŠΈλ₯Ό μ—…λ‘œλ“œ ν• ..

🍎 iOS/Git&GitHub 2024. 5. 30. 23:51