Helo!Заполнение NSTableView с использованием массива - таблица привязки
У меня проблема с отображением некоторых данных из массива в NSTableView. У меня есть информация, сохраненная в основных данных. Я беру эту информацию и добавляю к массиву, но когда я пытаюсь добавить эту информацию в таблицу, все, что я получаю, это таблица с правильными числами строк, но все они имеют одинаковый неявный текст: «TableView Cell».
Для каждого столбца таблицы я установил идентификатор, и мои привязки, я думаю, сделаны правильно. Вот мой код таблицы контроллера:
@IBAction func reload(sender: NSButton) {
tableView.reloadData()
}
func getItemsFromDataBase() {
let fetchRequest = NSFetchRequest(entityName: "MyData")
// Create a sort descriptor object that sorts on the "title"
// property of the Core Data object
let sortDescriptor = NSSortDescriptor(key: "nume", ascending: true)
// Set the list of sort descriptors in the fetch request,
// so it includes the sort descriptor
fetchRequest.sortDescriptors = [sortDescriptor]
if let fetchResults = managedObjectContext!.executeFetchRequest(fetchRequest, error: nil) as? [MyData] {
for var i = 0 ; i < fetchResults.count ; i++ {
objects.append(fetchResults[i]) //Get data from database and put in array
}
}
}
func numberOfRowsInTableView(tableView: NSTableView) -> Int {
getItemsFromDataBase()
showNames()
return objects.count
}
func tableView(tableView: NSTableView, objectValueForTableColumn tableColumn: NSTableColumn?, row: Int) -> AnyObject? {
let identifier = tableColumn?.identifier
println(identifier!)
if let propertyEnum = ArrayDisplayProperty(rawValue: identifier!) {
let cellView = tableView.makeViewWithIdentifier(identifier!, owner: self) as NSTableCellView
let object = objects[row]
switch propertyEnum {
case .Nume:
cellView.textField!.stringValue = object.nume
case .Prenume:
cellView.textField!.stringValue = object.prenume
case .Varsta:
cellView.textField!.stringValue = "\(object.varsta)"
case .Localitate :
cellView.textField?.stringValue = object.localitate
case .Major:
cellView.textField?.stringValue = object.major == 1 ? "Yes" : "No"
}
println(object.nume)
return object.varsta
}
return 0
}
Смотрите мой ответ [здесь ] (https://stackoverflow.com/questions/26330468/nsoutlineview-object-value-is-being-returned-but-only-the-placeholder-title/26331214#26331214). –