swift中的成员初始化

时间:2016-02-09 15:16:53

标签: constructor swift2

在C ++中,我们可以使用成员初始化列表来初始化类成员,如:

object::object():_a(0), _b(0){}

有没有办法在swift(2.0)中做同样的事情?

1 个答案:

答案 0 :(得分:1)

对于swift要求你使用init类成员意味着类成员是一个optionnal,你必须在init类中提供适当的init。 例如:

class PhAuthenticationToken : NSObject {

    var authenticationToken : NSString
    var expiry : NSDate?
    var permissions : NSString

    init(token : NSString, secondsToExpiry seconds : NSTimeInterval, permissions perms : NSString) {

        self.authenticationToken = token
        if (seconds != 0) {
            self.expiry = NSDate(timeIntervalSinceNow: seconds)
        }
        self.permissions = perms
    }
}

您应该查看官方文档: https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html