0
나는 사용자가 값을 선택하도록 팝업 컨트롤을 표시하기 위해 SwiftyPickerPopover을 사용하고 있습니다. 이전에 앱의 다른 위치에서 다음과 같이 구현했습니다.배열로 SwiftyPickerPopover 선택 채우기
let displayStringFor:((String?)->String?)? = { string in
if let s = string {
switch(s){
case "Lhe”:
return "Lh”
case "Khi":
return "Khi”
case "Isb”:
return "Isb"
case "Guj":
return "Guj"
default:
return s
}
}
return nil
}
let p = StringPickerPopover(title: "Select City", choices: ["Lhe”,”Khi”,”Isb”,”Guj”])
.setDisplayStringFor(displayStringFor)
.setDoneButton(
action: { popover, selectedRow, selectedString in
self.cityButton.setTitle(selectedString,for: .normal)
if selectedRow == 0 {
self.cityImage.image = UIImage(named: "Lhe")
} else if selectedRow == 1 {
self.cityImage.image = UIImage(named: "Khi")
} else if selectedRow == 2 {
self.cityImage.image = UIImage(named: "Isb")
} else if selectedRow == 3 {
self.cityImage.image = UIImage(named: "Guj")
}
})
.setCancelButton(action: {_, _, _ in
})
p.appear(originView: sender as! UIView, baseViewController: self)
값이 하드 코드 된 것을 볼 수 있습니다. 이제는 모든 도시를 제공하는 API가 있습니다. 그래서 var mainCitiesArray = [City]()
을 만들고 API를 호출하고 데이터를 파싱했습니다.
mainCitiesArray
에서이 팝업에 표시하고 싶은 도시가 모두 있습니다. 어떻게해야합니까?