I have been following the book’s code but adapting it to a list of players of a team.
When I try the code to add a new row to the UITableView which creates a new player from the Store it gives me the error: “Instance member ‘createPlayer’ cannot be used on type ‘PlayerStore’; did you mean to use a value of this type instead?”
I am wondering what I am doing wrong within the code…
Here is my ViewController File:
import UIKit
class PlayerViewController: UITableViewController {
var playerStore: PlayerStore!
@IBAction func addNewPlayer(_ sender: UIButton) {
let newPlayer = PlayerStore.createPlayer()
if let index = playerStore.allPlayers.index(of: newPlayer) {
let indexPath = IndexPath(row: index, section: 0)
tableView.insertRows(at: [indexPath], with: .automatic)
}
}
This is my Store File:
import UIKit
class PlayerStore{
var allPlayers = [Player]()
@discardableResult func createPlayer() -> Player {
let newPlayer = Player()
allPlayers.append(newPlayer)
return newPlayer
}