여러 리스트 중에 특정한 값 만을 표시 하는 경우가 있다.
예를 들어 결재 내역에서 point 라는 항목을 전체 표시
차감만 표시
적립만 표시
해야 하는 경우는
ex)
var mileageData = [
["point":"save", "price":"7000", "datetime":"2016.01.08 16:50", "message":"관리자가 마일리지 부여"],
["point":"used", "price":"10000", "datetime":"2016.01.08 16:50", "message":"관리자가 마일리지 부여"],
]
여기서 point key의 save만 , used만을 필터 처리 하고 싶은 경우가 있다.
filter() 메소드를 이용하면 된다.
if filterButtons[0].selected == true { //전체
mileageData = mileageDataOrigin
} else if filterButtons[1].selected == true { //적립
mileageData = mileageDataOrigin.filter({
$0["point"] == "save"
})
} else { //차감
mileageData = mileageDataOrigin.filter({
$0["point"] == "used"
})
}
tableView.reloadData()
위 코드는 mileageDataOrigin 으로 부터 mileageData Array를 point 키의 값을 기준으로
필터 처리를 하여 재구성 하는 코드이다.
tableView.relaodData()를 이용하여 테이블뷰의 데이터를 새로 갱신 하면 변경된 데이터가 표시 된다.
댓글 없음:
댓글 쓰기