iOS/SwiftUI
SwiftUI) List 마지막 줄에 닿았을 때 인식 방법 & 닿았을 때 메소드 호출
behan
2022. 1. 13. 22:01
반응형
api를 호출하여 그 정보를 List로 그릴 때,
스크롤을 내리다 마지막 줄에 닿았을 때 자동으로 다음 api 정보를 받아와 리스트 밑에 이어서 그려줄 때 사용할 만한 방법
struct Item: Codable, Identifiable {
var id = UUID()
var name: String
var party: String
var age: String
}
extension Item: Equatable {
static func == (lhs: Self, rhs: Self) -> Bool {
return lhs.id == rhs.id
}
}
위의 구조체로 된 Array를 List로 불러올 때
Equatable 프로토콜을 추가해 lhs.id 와 rhs.id 같아질 때 리턴하도록 한다.
List( [Item] ) { item in
ItemRowView(item) // 리스트 한 줄 뷰
.onAppea { // 리스트가 생성 될때 마다 실행
if [Item].last == item {
// 여기에 다음 정보를 호출 할 수 있는 ViewModel의 함수 호출
}
}
}
참고 : https://www.youtube.com/watch?v=eccTBoSKOA8&list=PLgOlaPUIbynqyJHiTEv7CFaXd8g5jtogT&index=26
(영상 앞부분은 alamofire URLRequest참고, 뒷부분은 위 내용 참고)
반응형