我有一个名为 Person 的 Swift 类,它具有三个值:名字、姓氏和生日(String
、String
和 NSDate
).现在我有了一个函数,我想用它来打印基于属性的东西——例如,当属性是 myPerson.name
时,它应该打印以下内容:This person's name is ...
。我现在的问题是,是否可以创建一个函数,将 Person 类的参数作为参数?例如:func myFunction(parameter:Person.parameter) {}
(我知道没有 Person.parameter,但这只是一个例子)。
我知道有更简单的解决方案,但它对我的另一个项目有帮助。提前致谢。
最佳答案
您可以创建一个新的属性名称并覆盖它的 getter 以返回“This person's name is ...”文本,
class Person{
let firstName: String
let lastName: String
init(firstName: String, lastName: String) {
self.firstName = firstName
self.lastName = lastName
}
var name: String {
get {
return "This person's name is \(firstName) \(lastName)"
}
}
}
let person = Person(firstName: "Sandeep", lastName: "Koirala")
person.name
关于函数,你可以创建一个新的函数,它以Person为对象,然后像这样对其属性进行一些计算,
func printPersonsName(person: Person) {
print(person.name)
}
关于class - 作为方法参数的 Swift 类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27406548/