私はかなり新しいSwift
ですが、NSTableView
には自分のデータが表示されていません。私のJSON
データがコンソールに完全に印刷されていて、私のcellView
が私のtextField
に表示されると思ったが、何も戻ってこなかった。私はTable
を「テーブルセルビュー」に「セル」という識別子がある場所に設定しているので、正しくリンクされていると思います。コンソールにエラーは表示されませんが、データは表示されません。どんな助けでも大歓迎です。JSONデータがNSTableViewに表示されない
import Cocoa
class ViewController: NSViewController, NSTableViewDataSource, NSTableViewDelegate {
@IBOutlet var tableView: NSTableView!
var values: NSArray = []
override func viewDidLoad() {
super.viewDidLoad()
get();
}
override var representedObject: Any? {
didSet {
}
}
func get(){
let url = NSURL(string: "http://myurl")
let data = NSData(contentsOf: url as! URL);
values = try! JSONSerialization.jsonObject(with: data! as Data,options: JSONSerialization.ReadingOptions.mutableContainers) as! NSArray
tableView.reloadData();
print(values);
}
func numberOfRows(in tableView: NSTableView) -> Int {
return self.values.count;
}
private func tableView(tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
let cellView = tableView.make(withIdentifier: "cell", owner: self) as! NSTableCellView
cellView.textField!.stringValue = self.values.object(at: row) as! String
return cellView
}
にこれを追加しましたメインスレッドでReload Tableview –
デリゲートメソッドが呼び出されていますか?テーブルは空の場合でも期待される行数を持っていますか? –
行の数は、私のnumbersOfRows関数で表される値の数に基づいています –