[Udemy] Section 15

seulg1004·2022년 7월 26일

Swift 유데미 강의

목록 보기
9/9
post-thumbnail

INTRO

이번 섹션에서 드디어 Cocoapods 사용법을 배운다ㅠㅠ 치트키 코코아팟.. 중요한 부분이 많다.
1. ⭐️ Navigation Controller
2. Swift Loops
3. ⭐️ Cocoapods와 Swift Package Manager
4. ⭐️ Firebase 연동, Cloud Database
5. Firebase Authentication
6. ⭐️ Table Views
7. .xib files로 UI 구성하기

Navigation Controller

먼저 Main.storyboard에서 각 화면 간의 Segue를 설정해준다. action은 show로 설정하면 된다.

여기에서 위에 뒤로가기 버튼을 생성해주려면 Navigation Controller를 Root View로 추가 생성해주면 된다.

네비게이션 바 생성 끝!
각 Segue마다 identifier를 만들어주면 Segue 설정도 완료된다.

Swift Loops

애플리케이션이 처음 Launch될 때 뜨는 대문 글자가 타이핑되는 효과를 주기 위해서 for 문을 사용한다.

titleLabel.text = ""
let titleText = "⚡️FlashChat"
for letter in titleText {
    Timer.scheduledTimer(withTimeInterval: 0.1, repeats: false) { (timer) in
    	self.titleLabel.text?.append(letter) // closers 안에 있으므로 self 를 사용한다.
    }
}

self 키워드를 사용해 뷰 컨트롤러를 가리키도록 한다. closers 안에 있으므로 꼭 self를 사용해준다!
chatIndex 변수를 사용해 수가 올라가는 것을 활용하면 글자가 뜨는 속도를 조절할 수 있다.

여기서 For문을 자세히 살펴보면

// 1에서 5까지 반복하는 것
for number in 1...5 {
	print("Hello, \(number)")
}

// dictionary 반복
let contacts = ["Adam": 123456789, "James": 987654321, "Amy": 912837365]

for person in contacts{
    print(person.value)
    print(person.key)
}

// 피보나치 수열
var arr = [0, 1]
var temp = 0
func fibonacci(n: Int) {
    if temp == n-2 {
        print(arr)
    } else {
        arr.append(arr[temp] + arr[temp+1])
        temp += 1
        fibonacci(n: n)
    }
}

CocoaPods와 Swift Package Manager

🍫 Cocoapods

cocoapods
코코아팟 설치와 사용은 위 문서를 참고한다. .xcodeproj 파일이 있는 폴더에 pod init을 하면 podfile이 생성된다. podfile은 다음과 같이 구성하였다.

platform: ios, '9.0'은 해당 앱이 구동되는데 필요한 최소 ios 버전을 의미한다. 이 때, 위 버전으로 설치하면 오류가 발생하게 되는데 CLTypingLabel의 구버전을 사용해서 생긴 오류이다. pod 'CLTypingLabel', '~> 0.4.0' 으로 바꿔주고 다시 install 하면

이번엔 위와 같은 오류가 나게 된다. pod 패키지 버전이 요구하는 최소 iOS 버전과 맞지 않는다는 말이다..!
앞으로 코코아팟 설치하고 오류가 나면 pod 패키지 버전과 iOS 버전을 고려하도록 하자.

CLTypingLabel을 사용하면 위의 글자 타이핑 코드를 한 줄로 줄여줄 수 있다.

@IBOutlet weak var titleLabel: CLTypingLabel!
    
override func viewDidLoad() {
     super.viewDidLoad()
     titleLabel.text = "⚡️FlashChat"
}

설치한 코코아팟 패키지를 삭제하려면 podfile에서 패키지를 삭제해준 뒤 다시 pod install 해주면 된다.

⛳️ Package Manager

코코아팟 이외에 Carthage, Swift Package Manager가 있는데 Carthage는 해당 라이브러리를 설치하기 굉장히 귀찮다고 한다. Swift Package Manager는 현재 버전까지는 코코아팟을 관리하는데 별로...라고 한다.. 흠
swift package Manager 적용기
위 글만 봤을 때는 node.js에서 package.json 파일과 역할이 달라보이지 않는다. 하지만 뭐 코코아팟 패키지에서 package.swift 파일도 없고 지원을 안해준다 하니까 사용하지 않는걸로!!

+) 이후 내용 추가 예정

0개의 댓글