So I'm starting to learn Swift, and I've hit a bit of an issue.
Here's my code
class Account { var balance:Float var overDraft:Float = 0.00 var availableBalance:Float { get { return balance + overDraft } } init(amount:Float) { self.balance = amount } // Method to debit an amount from the balance func debit(amount:Float) { if (availableBalance - amount) < 0 { println("Insufficient funds") } else { self.balance = self.balance - amount } } // Method to credit an amount to the balance func credit(amount:Float) { self.balance = self.balance + amount } // Method to adjust the amount of the available overdraft func adjustOverdraft(amount:Float) { self.overDraft = amount }}var myAccount = Account(amount: 5.00)myAccount.adjustOverdraft(10.00)myAccount.balancemyAccount.availableBalancemyAccount.debit(16.00) // Here insufficient funds should appearmyAccount.availableBalance
The issue seems to be with the availableBalance property, and obviously I'm doing something wrong in the way I'm returning the availableBalance, because the debit method doesn't work when you don't have sufficient funds, ie. the message "Insufficient funds " doesn't appear.
I've also tried the setting the property using the following
var availableBalance:Float { get { return self.balance + self.overDraft } }