Я создаю программу в Swift 4, которая имеет два класса StockHolding (Parent) и ForeignStockHolding (Child). Мне нужно создать некоторые объекты этих классов и добавить их в массив, который я сделал вручную, как это:
var stocksInArray: [StockHolding] = [] //creating array of type StockHolding
var newSIA = StockHolding()
//=========New StockHolding Object===========
**newSIA = StockHolding()**
newSIA.purchaseSharePrice = 2
newSIA.currentSharePrice = 3
newSIA.numberOfShares = 5
newSIA.companyName = "A"
//Appending the Array
stocksInArray.append(newSIA)
//=========New ForeignStockHolding Object===========
**newSIA = ForeignStockHolding()**
newSIA.purchaseSharePrice = 6.10
newSIA.currentSharePrice = 99.51
newSIA.numberOfShares = 310
newSIA.companyName = "D"
//Appending the Array
stocksInArray.append(newSIA)
Следующая часть состоит в том, чтобы спросить пользователя, сколько акций он хочет и какого типа (StockHolding или ForeignStockHolding), и в соответствии с выбором мне нужно создать объект и добавить его в массив. Я пытался сделать следующее, но это не работает, так как объекты еще не созданы, потому что они находятся внутри условия, и я получаю ошибки.
for stocks in 1...maxVal {
print("Type of stock \(stocks): 1.Local 2.Foreign " )
input = readLine()!
let s1 = Int(input)!
if(s1 == 1){ var newSIA = StockHolding()
runOnCondition()
}
else if (s1 == 2){ var newSIA = ForeignStockHolding()
print("Enter Conversion Rate")
input = readLine()!
let cr = Float(input)!
newSIA.conversionRate = cr
runOnCondition()
}
}
Я даже не знаю, делаю ли я все неправильно