2015-11-11 3 views
-1

начинающий быстрый кодер.Просмотр другой статистики на 2-ом контроллере просмотра таблицы

Я создал табличный вид баскетбольных команд на моем контроллере. После этого я создал контроллер навигации для контроллера вида. Я ввел 7 баскетбольных команд в мой настольный просмотр. Теперь я создал второй контроллер представления, так что, когда я нажимаю на любую из 7 команд баскетбола, он откроет другое окно.

Мой вопрос: как мне отображать различную информацию при нажатии на различные команды баскетбола?

введите описание изображения здесь Main View controller

импорт UIKit импорт AVFoundation

класс ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

var nbaMusic: AVAudioPlayer = AVAudioPlayer() 

let nbateams = ["Knicks", "Cavaliers", "Thunder", "Warriors", "Lakers", "Bulls", "Magic"] 

@IBOutlet var myTableView: UITableView! 
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return nbateams.count 
} 
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let myCell:UITableViewCell = myTableView.dequeueReusableCellWithIdentifier("nba", forIndexPath: indexPath) 

    myCell.textLabel?.text = nbateams[indexPath.row] 

    myCell.imageView?.image = UIImage(named: nbateams[indexPath.row]) 

    return myCell 
} 
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    let data = nbateams[indexPath.row] 
    let playerView = playerViewController() 
    detailView.dicData = data 
    self.navigationController?.pushViewController(playerView, animated: true) 

} 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    myTableView.dataSource = self 
    myTableView.delegate = self 
    let nbaMusicURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Roundball_Rock", ofType: "mp3")!) 
    do{ 
     nbaMusic = try AVAudioPlayer(contentsOfURL: nbaMusicURL, fileTypeHint: nil) 
    } 
    catch _ { 
     return print("File not found") 
    } 
    nbaMusic.numberOfLoops = 0 
    nbaMusic.prepareToPlay() 
    nbaMusic.play() 

класс playerViewController: UIViewController {

let knicks = ["Carmelo.png"] 
let Cavaliers = ["Lebron.png"] 

@IBOutlet var playerInfoView: UILabel! 

@IBOutlet var playerImage: UIImageView! 
var imageView: String? 
var dicData: String? 


override func viewDidLoad() { 
    super.viewDidLoad() 
    playerImage.image = UIImage(named: dicData!) 

    // Do any additional setup after loading the view. 
} 

ответ

0

В MainViewController: viewDidLoad установить больше:

myTableView.delegate = self 

и реализация:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    let data = nbateams[indexPath.row] 
    let playerView = playerViewController() // or load from storyboad 
    playerView.dicData = data 
    self.navigationController?.pushViewController(playerView, animated: true) 
} 

в playerViewController создать объект данных, и передачи данных (информация необходима дисплей) к нему

@IBOutlet var playerInfoView: UILabel! 



@IBOutlet var playerImage: UIImageView! 
var imageView: String? 
var dicData: String! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    playerImage.image = UIImage(named: dicData) // ex 

    // Do any additional setup after loading the view. 
} 
+0

Спасибо за информацию, я попробую, когда вернусь домой сегодня. – ATrain

+0

Извините, я попробовал то, что вы предложили, но мне все еще трудно понять это. Я не смог заставить это работать: * ( – ATrain

+0

Можете ли вы поделиться своим кодом? Легко помочь –

Смежные вопросы