2017-10-26 16 views
0

컨트롤 세그먼트의 세 셀에 대해 세 개의 배열이 있습니다. 하나의 ViewController를 만들었습니다. 배열이 세포 주위에 흩어지기 시작했으나 셀 단위를 첫 번째가되게 만드는 문제가 발생했습니다. 이제 다시 리메이크하고 싶습니다.UISegmentedControl을 사용하여 ViewController를 전환하는 방법은 무엇입니까?

import UIKit 
import Parse 

class PrognozSegmentViewController: UIViewController,UITableViewDataSource,UITableViewDelegate { 

     var soccerString = [Soccer]() 
     var basketString = [Basketball]() 
     var tennisString = [Tennis]() 

     var refresh : UIRefreshControl! 

     @IBOutlet weak var tableView: UITableView! 
     @IBOutlet weak var segmentControl: UISegmentedControl! 
     @IBAction func btnSegment(_ sender: Any) { 
      tableView.reloadData() 
     } 

     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
      var returnSport = 0 
      switch (segmentControl.selectedSegmentIndex) { 
      case 0 : 

       returnSport = soccerString.count 
       break 
      case 1 : 
       returnSport = basketString.count 
       break 
      case 2 : 
       returnSport = tennisString.count 
       break 
      default : 
       break 
      } 

      return returnSport 
     } 
+0

일부 코드를 공유하십시오 –

+0

아마도 tableView.delegate = self 및 tableView.dataSouce = self를 설정하는 것을 잊었을까요? –

답변

0

당신은 당신이 데이터를 다시로드 할 때 다시 numberOfRowsInSection 메소드를 호출

@IBAction func btnSegment(_ sender: Any) { 
    returnSport = sender.selectedSegmentIndex 
    tableView.reloadData() 
} 

UISegmentedControl 상관 없음에서 'numberOfRowsInSection'방법에서

var returnSport = 0 
var soccerString = [Soccer]() 
var basketString = [Basketball]() 
var tennisString = [Tennis]() 
var refresh : UIRefreshControl! 

및 변경 값 유형을 var에 returnSport을 취할 수 returnSport 변수를 변경하십시오