class - 作为方法参数的 Swift 类变量

标签 class swift ios8 xcode6

我有一个名为 Person 的 Swift 类,它具有三个值:名字、姓氏和生日(StringStringNSDate ).现在我有了一个函数,我想用它来打印基于属性的东西——例如,当属性是 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/

相关文章:

python - 获取类装饰函数的实例

java - 如何更好地设计这段代码的类结构

swift - Swift 中闭包回调函数中的 UIAlertView

swift - 如何获取 NSRunningApplication 的参数?

swift - 有什么好方法可以避免对相同的结构元素数组重复数组索引访问操作?

iphone - 如何验证 IBOutlet/var 是否为 nil?

ios - 在 Objective-C 中包含 Swift 文件

c# - 如何重新初始化或重置类的属性?

ios - 从结构模型填充 View 时的 nil 值

C++:不删除对象/总是/内存泄漏吗?