2.
Typealias 타입 별명이라고 들었는데 타입 출력을 해도 원래의 타입으로 나오고 선언한 별명은 나오지 않았습니다. 사용하는 이유가 있나요?
typealias i = Int
let one: Int = 1
let alsoOne: i = one
print(alsoOne)
// 예시
typealias Timestamp = Double
let time: Timestamp = 1.0
Swift
복사
typealias CompletionCallback = (Bool) -> Void
typealias VoidCallback = () -> Void
let something: VoidCallback
Swift
복사
3.
함수 선언시에 매개변수에 _를 붙혀 함수 사용에 편의를 주는 경우를 배웠습니다. 실제 사용해보니 _ 매개변수로 사용함이 매우 편했던것 같아 _ 없이 매개변수를 사용하는 경우가 있을까요?
•
함수 파라미터 여러개 있을때
func something(width: CGFloat, height: CGFloat, x: Double, y: Double) {
...
}
something(width: 10.0, height: 20.0, x: 1.0, y: 10.0)
// _ 예시
func something(_ width: CGFloat, _ height: CGFloat, _ x: Double, _ y: Double) {
...
}
something(10.0, 20.0, 1.0, 10.0)
Swift
복사
4.
주로 사용하는 옵셔널 언래핑 방법은 무엇일까요? 혹은 사용하면 안될 방법 같은것도 있을까요?
•
guard let, if let
•
옵셔널 체이닝 ??
let number: Int? = 0
if let number = number {
// 사용
}
// 체이닝
let new = number ?? 0
// new는 옵셔널이 아님
Swift
복사
•
강제 언래핑 !
number!
Swift
복사
5.
SwiftUI 에서 UIKit 처럼 버튼 등을 정의하여 사용할 수 있나요?
•
SwiftUI: Declarative (선언형)
•
UIKit: Imperative (명령형)
// 작동 x
let button = Button("버튼") { }
// 작동 o
@ViewBuilder var button: some View {
return Button("버튼") { }
}
var body: some View {
button
}
Swift
복사
6.
실무에서 주로 쓰는 디자인 패턴이 있을까요? 아니면 알고가면 좋은 패턴이 있나요?
•
MVVM 패턴
•
MVP, MVI, VIPER 패턴
7.
iOS 개발자에겐 디자인 감각이 필요할까요? 추가로 피그마 같은 툴을 공부할 필요가 있을까요?
•
디자인 감각: UI/UX 잘 작동하는지
•
현업에서는 사용할줄 알아도 거의 사용 못함
8.
재사용 가능한 요소들을 어떻게 관리하는지와 효율적으로 만드는 방법이 궁금합니다.
•
프로젝트내에 관리 - Tuist, 모듈화
•
Modular Achitecture in iOS