Я чрезвычайно новичок в Swift, поэтому я предполагаю, что это ошибка новичка, но вот моя ситуация:
Я пытаюсь создать приложение, которое позволяет вам добавлять вещи в список.У меня есть NSTextField
, где пользователи вводят туда данные, и NSButton
, чтобы добавить эти данные в массив myTeam
.tableView
связан (я думаю, это то, что вы называете) с массивом myTeam
.
Когда я запускаю приложение, таблица, содержащая предустановленные значения myTeam
, правильно заполняет табличное представление, нокогда я добавляю в этот массив ничего не происходит.После исследования я обнаружил этот вопрос .
К сожалению, как и большинство быстрых обучающих программ и вопросов и ответов, это было для iOS.Но я думал, что попробую.Я добавил
self.tableView.reloadData()
self.refresher.endRefreshing()
к своему коду и получил две ошибки: Value of type '(NSTableView, NSTableColumn?, Int) -> Any?' has no member 'reloadData'
и Value of type 'ViewController' has no member 'refresher'
соответственно.
Вот мой код ниже:
import Cocoa
import Darwin
class ViewController: NSViewController, NSTableViewDataSource {
var myTeam = ["Test", "Test2"]
@IBOutlet weak var myText: NSTextField!
@IBOutlet weak var AddMember: NSButton!
@IBAction func addmem(_ sender: Any) {
myTeam.append(myText.stringValue);
self.tableView.reloadData()
self.refresher.endRefreshing()
}
override func viewDidLoad() {
super.viewDidLoad()
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
// MARK: DataSource
func numberOfRows(in tableView: NSTableView) -> Int {
return myTeam.count
}
func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
return myTeam[row]
}
}
PS Я использовал этот учебник, чтобы добраться до меня.