次のチュートリアルを使用して、テーブルに入力するいくつかの株価情報を表示しようとしました。私は、テーブルビューのセルとリンクされたstockTableViewCellとテーブルビューのセルの両方を作成しました。しかし、私はメインのストーリーボード上のテーブルビューをカスタムテーブルビューコントローラにリンクすることができません。Swift - テーブルビューにデータが入力されていないがエラーが表示されない
基本的に私はそれが適用されないカスタムクラスフィールドにそれを入力しようと、私は離れて移動するとき、それは
私の質問は消えるたびに、私のビューコントローラまたはテーブルビューのセルに何か問題があるか、ありますストーリーボードに誤って設定したことがありますか?
テーブルビューコントローラ
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
}
}
テーブルビューセル
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
}
}
あなたは 'tableView.reloadData()'を呼び出すのですか? – vadian
あなたはloadSampleStockData()を参照していますか、viewDidLoad()関数でそれを呼び出しましたか、それはあなたが求めているものではありませんか? –
私は上記のコードを参照しています。 – vadian