让我们从“Class”方法开始:
然后我们将会得到以下内容:
并且
第二种方法是“基于协议的”,如果我没记错的话。
那么我们将会有:
请注意,这里的“Class”是指一种编程概念。
class LoginCredentials {
var id : String
init(userID:String) {
self.id = userID
}
}
然后我们将会得到以下内容:
class FacebookLoginCredentials : LoginCredentials {
var token : String
init(userID:String,userToken:String) {
self.token = userToken
super.init(userID: userID)
}}
并且
class TwitterLoginCredentials : LoginCredentials {
var token : String
var secret : String
init(userID:String,userToken:String,secret : String) {
self.token = userToken
self.secret = secret
super.init(userID: userID)
}
}
第二种方法是“基于协议的”,如果我没记错的话。
protocol LoginCredentials {
var id : String { get }
}
那么我们将会有:
struct FacebookLoginCredentials : LoginCredentials {
var id: String
var token : String
init(userID:String,userToken:String) {
self.id = userID
self.token = userToken
}
}
并且
struct TwitterLoginProfile : LoginCredentials {
var id: String
var token : String
var secret : String
init(userID:String,userToken:String,secret : String) {
self.token = userToken
self.secret = secret
self.id = userID
}
}
我只需要知道哪一个更快?