UITableViewController의 선택된 셀에서 "올바른"데이터를 ViewController로 전달

Vahidgr

여기서도 TableViewController에서 다른 ViewController로 올바른 데이터를 전달하는 방법을 아직 알아 내지 못한 똑같은 문제가 발생 합니다. JSON에서 데이터를 가져옵니다. 필요한 모든 것이 있지만 표시되는 행 데이터를 선택하면 마지막 행의 데이터가 표시됩니다. TableViewController를 선택한 정확한 행에 대한 정보를 가져와야합니다.

import UIKit

class TableViewController: UITableViewController {

var TableData:Array< String > = Array < String >()

func getData(_ link: String) {
    let url: URL = URL(string: link)!
    let session = URLSession.shared
    let request = NSMutableURLRequest(url: url)
    request.httpMethod = "GET"
    request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData

    let task = session.dataTask(with: request as URLRequest, completionHandler: {
        (data, response, error) in
        guard let _: Data = data , let _: URLResponse = response , error == nil else {
            return
        }
        self.extractJSON(data!)
    })
    task.resume()
}

func extractJSON(_ data: Data) {
    let json: Any?
    do {
        json = try JSONSerialization.jsonObject(with: data, options: [])
    } catch {
        return
    }
    guard let dataList = json as? NSArray else {
        return
    }
    if let countriesList = json as? NSArray {
        for i in 0 ..< dataList.count {
            if let countriesObj = countriesList[i] as? NSDictionary {
                if let countryName = countriesObj["country"] as? String {
                    if let countryCode = countriesObj["code"] as? String {
                        TableData.append(countryName + " [" + countryCode + "]")
                        UserDefaults.standard.set(String(describing: countryName), forKey: "name")
                        UserDefaults.standard.set(String(describing: countryCode), forKey: "code")
                        UserDefaults.standard.synchronize()
                    }
                }
            }
        }
    }

    DispatchQueue.main.async(execute: {self.doTableRefresh()})
}

func doTableRefresh() {
    self.tableView.reloadData()
}

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.delegate = self
    self.tableView.dataSource = self
    getData("http://www.kaleidosblog.com/tutorial/tutorial.json")
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

// MARK: - Table view data source

override func numberOfSections(in tableView: UITableView) -> Int {
    // #warning Incomplete implementation, return the number of sections
    return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of rows
    return TableData.count
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)

    cell.textLabel?.text = TableData[indexPath.row]

    return cell
}
}
프라 샨트 투카 디야

tableViewDidSelectRowAtIndexPathDelegate Method를 사용할 수 있습니다.

let string = TableData[indexPath.row]

데이터를 가져 와서 vc에 전달하려면

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
   let string = TableData[indexPath.row]

    let vc = // Your VC From Storyboard 
    vc.data =  string // 
    self.navigationController?.pushViewController(vc, animated: true)
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

가중치를 올바른 순서로 CrossEntropyLoss에 전달

분류에서Dev

라우터의 올바른 설정에도 불구하고 매번 포트 전달이 실패 함 (스택 오버플로에서 이동 됨)

분류에서Dev

전달 된 uint32_t 배열 포인터를 사용하여 함수에서 malloc의 올바른 사용

분류에서Dev

javascript로 srcset에서 올바른 src를 선택하는 방법

분류에서Dev

일시 중단 된 저장소에서 가져온 ViewModel의 LiveData를 전달하는 올바른 방법

분류에서Dev

AFNetworking에서 NSNumber의 NSArray를 매개 변수로 전달하는 올바른 방법

분류에서Dev

Python의 json 파일에서 데이터를로드하는 올바른 방법

분류에서Dev

Scala의 Spark Databricks 노트북에서 SQL 셀에 목록이나 변수를 동적으로 전달하는 올바른 방법은 무엇입니까?

분류에서Dev

nwjs (node-webkit)에서 nodejs에서 angular로 데이터를 전달하는 올바른 방법

분류에서Dev

MySQL을 SQL Server로 변환 한 후 올바른 함수에 잘못된 길이 매개 변수가 전달됨

분류에서Dev

SwiftUI에서 ViewBuilder 클로저로 데이터를 전달하는 올바른 방법은 무엇입니까?

분류에서Dev

vue.js-자식에서 구성 요소로 데이터를 전달하는 올바른 방법?

분류에서Dev

for 루프 내에서 구조체를 pthread로 전달하는 올바른 방법

분류에서Dev

데이터베이스의 정보를 기반으로 Meteor에서 선택적으로 게시하는 올바른 방법은 무엇입니까?

분류에서Dev

Bootstrap3-선택한 항목의 페이지에서 올바른 ID로 슬라이드

분류에서Dev

Jade에서 클래스 선택기로 변수 (for 루프의 i)를 설정하는 올바른 사용법

분류에서Dev

dplyr :: summarise 내에서 올바른 데이터 프레임 전달

분류에서Dev

VBA의 UDF에서 셀을 매개 변수로 전달하는 올바른 방법은 무엇입니까?

분류에서Dev

Kubernetes에서 올바른 버전의 etcd 백업을 선택하십시오.

분류에서Dev

Wordpress의 CSS에 변수 PHP를 전달하는 올바른 방법

분류에서Dev

Python이 올바른 크기의 문자열을 C에 전달하지 않음

분류에서Dev

PDO / PHP를 사용하여 mySQL의 사전 설정된 데이터베이스 및 테이블에 데이터를 삽입하는 올바른 방법

분류에서Dev

OSX에서 Python의 올바른 경로

분류에서Dev

Azure DevOps의 배포 그룹에 배포 한 후 올바른 아티팩트 경로를 선택하는 방법

분류에서Dev

Angular의 대화 데이터에서 함수에 올바른 컨텍스트 전달

분류에서Dev

사용자 지정 ListView의 행에서 올바른 ImageView를 선택합니다.

분류에서Dev

새 서버에서 "잘못된"MySQL 인코딩을 이전 서버에서 올바른 UTF-8로 변환

분류에서Dev

목록보기 Android에서 올바른 데이터 선택

분류에서Dev

어머니 클래스 인스턴스를 전달하고 자식 클래스 매개 변수로 올바른 재정의를 선택하십시오.

Related 관련 기사

  1. 1

    가중치를 올바른 순서로 CrossEntropyLoss에 전달

  2. 2

    라우터의 올바른 설정에도 불구하고 매번 포트 전달이 실패 함 (스택 오버플로에서 이동 됨)

  3. 3

    전달 된 uint32_t 배열 포인터를 사용하여 함수에서 malloc의 올바른 사용

  4. 4

    javascript로 srcset에서 올바른 src를 선택하는 방법

  5. 5

    일시 중단 된 저장소에서 가져온 ViewModel의 LiveData를 전달하는 올바른 방법

  6. 6

    AFNetworking에서 NSNumber의 NSArray를 매개 변수로 전달하는 올바른 방법

  7. 7

    Python의 json 파일에서 데이터를로드하는 올바른 방법

  8. 8

    Scala의 Spark Databricks 노트북에서 SQL 셀에 목록이나 변수를 동적으로 전달하는 올바른 방법은 무엇입니까?

  9. 9

    nwjs (node-webkit)에서 nodejs에서 angular로 데이터를 전달하는 올바른 방법

  10. 10

    MySQL을 SQL Server로 변환 한 후 올바른 함수에 잘못된 길이 매개 변수가 전달됨

  11. 11

    SwiftUI에서 ViewBuilder 클로저로 데이터를 전달하는 올바른 방법은 무엇입니까?

  12. 12

    vue.js-자식에서 구성 요소로 데이터를 전달하는 올바른 방법?

  13. 13

    for 루프 내에서 구조체를 pthread로 전달하는 올바른 방법

  14. 14

    데이터베이스의 정보를 기반으로 Meteor에서 선택적으로 게시하는 올바른 방법은 무엇입니까?

  15. 15

    Bootstrap3-선택한 항목의 페이지에서 올바른 ID로 슬라이드

  16. 16

    Jade에서 클래스 선택기로 변수 (for 루프의 i)를 설정하는 올바른 사용법

  17. 17

    dplyr :: summarise 내에서 올바른 데이터 프레임 전달

  18. 18

    VBA의 UDF에서 셀을 매개 변수로 전달하는 올바른 방법은 무엇입니까?

  19. 19

    Kubernetes에서 올바른 버전의 etcd 백업을 선택하십시오.

  20. 20

    Wordpress의 CSS에 변수 PHP를 전달하는 올바른 방법

  21. 21

    Python이 올바른 크기의 문자열을 C에 전달하지 않음

  22. 22

    PDO / PHP를 사용하여 mySQL의 사전 설정된 데이터베이스 및 테이블에 데이터를 삽입하는 올바른 방법

  23. 23

    OSX에서 Python의 올바른 경로

  24. 24

    Azure DevOps의 배포 그룹에 배포 한 후 올바른 아티팩트 경로를 선택하는 방법

  25. 25

    Angular의 대화 데이터에서 함수에 올바른 컨텍스트 전달

  26. 26

    사용자 지정 ListView의 행에서 올바른 ImageView를 선택합니다.

  27. 27

    새 서버에서 "잘못된"MySQL 인코딩을 이전 서버에서 올바른 UTF-8로 변환

  28. 28

    목록보기 Android에서 올바른 데이터 선택

  29. 29

    어머니 클래스 인스턴스를 전달하고 자식 클래스 매개 변수로 올바른 재정의를 선택하십시오.

뜨겁다태그

보관