Mit dem folgenden Tutorial habe ich versucht, einige Bestandsinformationen anzuzeigen, die in einer Tabelle auffüllen würden. Ich habe sowohl den Tabellenansicht-Controller als auch die Tabellenansichtszelle und die verknüpfte stockTableViewCell mit der Tabellenansichtszelle erstellt. Ich bin jedoch nicht in der Lage, die Tabellenansicht auf dem Haupt Storyboard mit dem benutzerdefinierten Tabellenansicht-Controller zu verknüpfen.Swift - Tabellenansicht füllt sich nicht mit Daten, zeigt aber keine Fehler
Grundsätzlich ist jedes Mal, wenn ich versuche, es in das Feld benutzerdefinierte Klasse geben Sie es nicht und gilt, wenn ich navigieren weg verschwindet es
Meine Frage ist, gibt es etwas falsch mit meiner Ansicht-Controller oder Tabellenansicht Zelle oder ist Gibt es etwas in meinem Storyboard, das ich falsch konfiguriert habe?
Tabelle View Controller
import UIKit
class stocksTableViewController: UITableViewController{
// Mark: Properties
var stocks = [stockData]()
let stock = stockinfo()
override func viewDidLoad() {
super.viewDidLoad()
loadSampleStockData()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func loadSampleStockData() {
var stock1: stockData = stockData(name: "", askPrice: "", percentageChange: "", stockTicker: "")
var stock2: stockData = stockData(name: "", askPrice: "", percentageChange: "", stockTicker: "")
var stock3: stockData = stockData(name: "", askPrice: "", percentageChange: "", stockTicker: "")
stock.getInfo("FB") {(name, price, change) in dispatch_async(dispatch_get_main_queue(),{
stock1 = stockData(name: name, askPrice: price, percentageChange: change, stockTicker: "FB")})
}
stock.getInfo("MSFT") {(name, price, change) in dispatch_async(dispatch_get_main_queue(),{
stock2 = stockData(name: name, askPrice: price, percentageChange: change, stockTicker: "MSFT")})
}
stock.getInfo("APPL") {(name, price, change) in dispatch_async(dispatch_get_main_queue(),{
stock3 = stockData(name: name, askPrice: price, percentageChange: change, stockTicker: "APPL")})
}
stocks += [stock1, stock2, stock3]
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return stocks.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellIdentifier = "stockViewCell"
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! stockTableViewCell
let stock = stocks[indexPath.row]
cell.stockName.text = stock.name
cell.stockPercentage.text = stock.percentageChange
cell.stockDollarChange.text = stock.askPrice
cell.stockTicker.text = stock.stockTicker
return cell
}
}
Tabellenansicht Handy
import Foundation
import UIKit
class stockTableViewCell: UITableViewCell {
// Properties
@IBOutlet weak var stockTicker: UILabel!
@IBOutlet weak var stockPercentage: UILabel!
@IBOutlet weak var stockName: UILabel!
@IBOutlet weak var stockDollarChange: UILabel!
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
}
}
Wo nennt man 'tableView.reloadData()'? – vadian
Beziehen Sie sich auf die loadSampleStockData(), rief ich das in der Funktion viewDidLoad(), oder ist das nicht, was Sie fragen? –
Ich beziehe mich auf den obigen Code. – vadian