Swift类变量作为方法参数

时间:2014-12-10 16:53:05

标签: class swift ios8 xcode6

我有一个名为Person的Swift类,它有三个值:名字,姓氏和生日(StringStringNSDate)。现在我有一个功能,我想用它来打印基于属性的东西 - 例如当属性为myPerson.name时,它应该打印以下内容:This person's name is ...。我的问题是现在是否可以创建一个以Person类参数作为参数的函数?例如:func myFunction(parameter:Person.parameter) {}(我知道没有Person.parameter但它只是一个例子)。 我知道有更简单的解决方案,但对我来说对另一个项目有帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

你可以创建一个新的属性名称并覆盖它的getter以返回'此人的名字是......'文字,

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)
}