회고 사항
특이 사항
이번주 수업 내용
•
클래스와 상속 객체지향 이야기
•
열거형
•
UI 구성해서 Landscape 확인해보기
•
Error를 통한 예외처리
서로 공유할만한 내용
1.
프로퍼티 래퍼에 대하여 공부를 해야겠다.
@State와 @Published는 뭐가 다른가?
@Observable @ObservedObject는 무슨 의미이고 언제 쓰일까? 등등
> 멘토링 시간에 얘기 나누고 질문 하기
struct ContentView: View {
@StateObject var viewModel = Contact()
var body: some View {
VStack {
Text(viewModel.name)
.onTapGesture {
viewModel.name = "123123"
}
ChildView(viewModel: viewModel)
}
.padding()
}
}
struct ChildView: View {
@ObservedObject var viewModel: Contact
init(viewModel: Contact) {
self.viewModel = viewModel
}
var body: some View {
VStack {
Text(viewModel.name)
.onTapGesture {
viewModel.name = "123123"
}
}
.padding()
}
}
class Contact: ObservableObject {
@Published var name: String
@Published var age: Int
init(name: String = "", age: Int = 3) {
self.name = name
self.age = age
}
func haveBirthday() -> Int {
age += 1
return age
}
}
Swift
복사
2.
enum에 print문을 못쓰는 건지? 헷갈렸다. 관련 내용
해답을 찾지 못하더라도 내일 알아낸 내용을 공유
import Foundation
enum Juice: CustomStringConvertible {
case orange(String)
case blueberry(String)
var description: String {
switch self {
case let .orange(juice):
return "This is \(juice)"
case let .blueberry(juice):
return "This is \(juice)"
}
}
}
let juice = Juice.orange("tasty")
print(juice.description)
// This is tasty
Swift
복사
3.
스위프트 컴파일러는 이 매서드 호출에대한 완료 핸들러의 매개변수와 반환값에 대해 이미 알고있기 떄문에 클로져내에 표현식내에서 선언되지 않은 정보를 유추할수 있다 ?? 따라서 간략하게 할수 있다
import Foundation
// Swift 클로저는 매개변수 / 반환타입을 유추할 수 있는 능력
-> 타입 추론
let nums = [10, 20, 30, 40] // [Int]
let convertedNums = nums.map { $0 * 3 }
// [30, 60, 90, 120]
URLSession.shared.dataTask(with: url) { data, response, error in
// 핸들링 데이터
}
Swift
복사
4.
여러뷰에서 사용하는 공통 데이터들 처리
a.
클래스를 만들어서 클래스를 상속받는식으로 구성 (1)
b.
뷰 프로토콜을 상속받는 뷰 프로토콜을 띄워서 구성 (2)
•
@EnvironmentObject
5.
매개변수와 반환타입
•
() → () , () → Void
4주차 아이디어 피드백
2번 아이디어 추가 사항
•
Mapkit 써서 위치 정보 가저오는 거 해봤음
•
플로팅 버튼 만들어 봤습니다.
결론
3번 아이디어
•
음식점의 가격대를 필터링해서 검색
•
가게의 정보 → kakaomap이나 navermap을 사용하겠다.
•
가게 선택하고 주소만 나오는 기능 < 필수 최소 기능
4번 아이디어
•
여행지별 사람들의 니즈에 맞춰 추천
•
AI 사용이 막연하다
◦
OpenAI를 사용한다면 괜찮을 것 같다
5번 아이디어
•
4번과 비슷한 상태
결정된 아이디어 :
아이디어 투표 하겠습니다.결정!!
•
1번으로 결정
1번 아이디어 피드백 사항
•
혁준님 아이디어
•
상품 성분표로 성분표를 뽑아내는 기능
◦
음식
•
VisionKit 이용
•
알러지나 가리는 성분이 있으신분께 유리
•
몸에 안좋은 성분이라는것이 주관적일것 같음
◦
객관화할 수 있는 정보가 있는지?
◦
안좋은 성분을 로컬에 저장해서 비교할건지 vs API를 통해서 비교할건지
•
개인적인 알러지들 정보를 가지고 있어서 비교?
◦
처음 개인 알러지 정보를 받아와서 정보를 가지고 비교?
•
접근성으로 선회하기 > 시각장애인 용으로 선회하기?
최소 기능