나는 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 함수로 표현 된 값의 수를 기준으로합니다. –