大佬教程收集整理的这篇文章主要介绍了ios – Subclassing v.s.协议,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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,secret : String) { self.token = userToken self.secret = secret self.id = userID } }
我只需要知道哪一个更像Swift?
您是否需要值类型语义(结构和协议)或者您是否需要引用类型语义(类和协议).我通常默认使用值类型语义,因为它们更安全但是肯定存在引用类型语义很重要的情况.你可以在这里阅读更多相关信息:Why Choose Struct over Class.
以上是大佬教程为你收集整理的ios – Subclassing v.s.协议全部内容,希望文章能够帮你解决ios – Subclassing v.s.协议所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。