पर डेटा भेजें, मैं अब तक मेरे लिए सबसे सरल और अधिक भ्रमित चीजों में से एक करने की कोशिश कर रहा हूं मैं अपनी खुद की ऐप विकसित करना चाहता हूं, और ऐसा करने के लिए मुझे पास करने में सक्षम होना चाहिए (स्विफ्ट lenguage यह है), जो पंक्ति उपयोगकर्ता क्लिक के आधार पर कुछ जानकारीTableView से DetailView स्विफ्ट
हम एक RootViewController (तालिका देखें) है और एक DetailViewController
(हमारे विचार)
(1 लेबल और 1 छवि के साथ) यहां कोड है:
@IBOutlet weak var tableView: UITableView!
var vehicleData : [String] = ["Ferrari 458" , "Lamborghini Murcielago" , "Bugatti Veyron", "Mercedes Benz Biome"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var nib = UINib(nibName: "TableViewCell", bundle: nil)
tableView.registerNib(nib, forCellReuseIdentifier: "cell")
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return vehicleData.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:TableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as TableViewCell
cell.lblCarName.text = vehicleData[indexPath.row]
cell.imgCar.image = UIImage(named: vehicleData[indexPath.row])
return cell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("DetailView", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "DetailView") {
var vc = segue.destinationViewController as DetailViewController
}
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 100
}
कस्टम TableViewCell वर्ग
class TableViewCell: UITableViewCell {
@IBOutlet weak var lblCarName: UILabel!
@IBOutlet weak var imgCar: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
class DetailViewController: UIViewController {
@IBOutlet weak var lblDetail: UILabel!
@IBOutlet weak var imgDetail: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
सवाल यह है कि (सेल के साथ एक xib फ़ाइल है):
यदि उपयोगकर्ता फेरारी 458 क्लिक करें, DetailViewController में lblDetail आएगा: फेरारी 458 एक सुपर है कार जो 325 किमी/घंटा तक पहुंचने में सक्षम है ...... (जो कुछ भी हम चाहते हैं) और imgDetail कार की एक छवि (जो भी हम चाहते हैं) दिखाने में सक्षम होगी
यदि उपयोगकर्ता अब बुगाटी वेरॉन पर क्लिक करते हैं तो lb lDetail हमें दिखाएं: बुगाटी वेरॉन एक आदर्श और सुपर स्पोर्ट मशीन है। यह दुनिया में सबसे तेजी से कार में से एक है ....
imgDetail हमें इस कार की एक छवि दिखाने
सभी कारों के आधार जो पंक्ति हम
क्लिक किया है मुझे पता है के साथ भी यही बात काम के आसपास है पहले देखें नियंत्रक में forSegue func लेकिन मैं इसे संभव बनाने के कई अलग-अलग तरीकों की कोशिश कर रहा था और कुछ भी ठीक चल रहा है
हम यह कैसे कर सकते हैं ???
मुझे भी एक ही समस्या का सामना करना पड़ा जब मैं किसी अन्य दृश्य नियंत्रक को स्ट्रिंग को भविष्य के लिए अपने नाम से स्टोर करने की कोशिश कर रहा था। मैं इस लेख पर ठोकर खाई जो स्पष्ट रूप से इसे समझाता है। http://www.codingexplorer.com/segue-swift-view-controllers/ – Mechanic