[英]Viewing different stats on 2nd tableview controller
初学者快速编码器。
我在我的视图控制器上创建了一个篮球队的表格视图。 之后,我为视图控制器创建了一个导航控制器。 我在桌面视图中输入了 7 个篮球队。 现在,我创建了第二个视图控制器,所以当我点击 7 个篮球队中的任何一个时,它会打开另一个窗口。
我的问题是,如何在点击不同的篮球队时显示不同的信息?
在此处输入图像描述主视图控制器
导入 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.
}
在 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.
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.