현재 특정 하위 reddit 헤드 라인을 구문 분석하고이를 NSTableView에 표시하려고합니다. 문제는 numberOfRows
함수가 호출되고 올바른 정수를 반환하지만 tableView
대리자 함수가 호출되지 않는다는 것입니다.NSTableView 대리인 메서드가 호출되지 않습니다
코드에서 모든 것이 올바르게 연결되어있는 것을 볼 수 있습니다.
의 ViewController :
@IBOutlet weak var tableView: NSTableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
Downloader.load(url: URL(string: "https://www.reddit.com/r/" + "gaming" + ".json")!){
(result) in
let tvc = TableViewController(data: result)
self.tableView.delegate = tvc
self.tableView.dataSource = tvc
self.tableView.reloadData()
}
}
TableViewController :
class TableViewController: NSObject{
var json: JSON!
init(data: JSON) {
super.init()
self.json = data
}
}
extension TableViewController : NSTableViewDataSource {
func numberOfRows(in tableView: NSTableView) -> Int {
return JSONFormatController.getTitlesFrom(json: json).count
}
}
extension TableViewController : NSTableViewDelegate {
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
var titles = JSONFormatController.getTitlesFrom(json: json)
if let cell = tableView.make(withIdentifier: "entry", owner: nil) as? NSTableCellView {
cell.textField?.stringValue = titles[row]
return cell
} else {
return nil
}
}
}
result
변수 getTitlesFrom
방법은 내가 이러한 확인 작업을한다.
완벽한, 그랬어! 고맙습니다 – Matty265