Mikey Mikey - 1 year ago 46
Swift Question

Instance member cannot be used on type of custom class

I have a classe named "whisky builder" which only initiates the new Whisky. Now i would like to add the new added whiskies in my "WhiskyOverViewController". But I face the following problem:

class WhiskyOverViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var tableView: UITableView!

var whiskyArray = [WhiskyBuilder]()
let stringArray = whiskyArray.map({$0.whiskyName!})
var whiskies = [Character: [String]]()
var objectsArray = [Object]()

In the line of "stringArray" I get the error "Instance member 'whiskyArray' cannot be used on type 'WhiskyOverViewController'. Why am I not able to use the whiskyArray-variable there?

Thanks in advance for your help

Answer Source

What you need there is a read only computed property:

var stringArray: [String] { 
    return whiskyArray.map{$0.whiskyName!}