I was doing one example on getters and setters the example is below
import Foundation
class person
{
var first_name:String
{
get
{
return self.first_name
}
set
{
if (newValue.rangeOfCharacter(from: CharacterSet.decimalDigits) != nil){
print("please enter valid name")
}
else
{
self.first_name = newValue
}
}
}
}
let person1 = person.init()
person1.first_name = "rahul"
but this gives me error but when I do this example
import Foundation
class person
{
var name = ""
var first_name:String
{
get
{
return name
}
set
{
if (newValue.rangeOfCharacter(from: CharacterSet.decimalDigits) != nil){
print("please enter valid name")
}
else
{
name = newValue
}
}
}
}
let person1 = person.init()
person1.first_name = "rahul"
print(person1.first_name)
it runs and gives me output so my question is if I am using getter and setter then why I can't get or set the variable it self like I have done in above example so can any one explains me what is going on here