나는 Swift 언어에 다소 익숙하다. 따라서 Alamofire가 생성 한 온라인 데이터를 한 뷰 컨트롤러의 테이블 뷰에서 다른 뷰 컨트롤러에있는 웹 뷰로 푸시하는 방법에 대한 조언이 필요합니다. 특히 JSON 데이터에는 태그 "url"과 함께 다양한 요소가 있습니다. 내 목표는 셀을 클릭하면 사용자가 새 뷰 컨트롤러의 URL로 이동하도록 해당 url 요소를 적절한 tableview 셀과 일치시키는 것입니다. 이것이 배열과 함께 작동하는 방법을 이해하는 동안, 사용하고있는 JSON 데이터는 사전의 데이터입니다. 그 답례로, 나는 잠시 동안 웹을 검색하여 존재할지도 모르는 튜토리얼을 찾아 보았습니다. 참고로이 게시물에 내 코드를 포함 시켰습니다. 이 문제에 대한 정보는 크게 감사하겠습니다.Alamofire에서 생성 한 데이터를 tableview에서 webview로 푸시하는 방법
class TableViewController: UITableViewController {
var responseArray = [[String:Any]]()
var mySong = 0
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request("https://rss.itunes.apple.com/api/v1/us/apple-music/top-songs/all/10/explicit.json").responseJSON { response in
if let json = response.result.value as? [String:Any],
let feed = json["feed"] as? [String:Any],
let results = feed["results"] as? [[String:Any]] {
print(results)
self.responseArray = results
self.tableView.reloadData()
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return responseArray.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "top10", for: indexPath)
let song = responseArray[indexPath.row]
cell.textLabel?.text = song["name"] as? String
cell.detailTextLabel?.text = song["artistName"] as? String
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
mySong = indexPath.row
performSegue(withIdentifier: "iTunes", sender: self)
}
}
좋아, 약간의 수정이 있었지만 webView를 방문했을 때 내 뒤로 버튼이 사라졌습니다. 참고로 내 뒤로 버튼은 내비게이션 컨트롤러를 통해 내장되어 있습니다. –
탐색 표시 줄을 별도로 추가하여 추가 한 경우 사라질 수 있습니다. 뒤로 버튼과 개인적으로 추가 한 다른 UI 요소를 제거해보십시오. 지금 기본 단추가 표시되는지 확인하십시오. – NSAdi