如何在Swift中使用嵌套方便的可用初始值设定项检查nil?

如何在Swift中使用嵌套方便的可用初始值设定项检查nil?,第1张

概述class OAuthToken: NSObject, NSCoding {var refreshToken: String?var accessToken: String?var scope: String?convenience init?(refreshToken: String?, accessToken: String?, scope:String) { self.i
class OAuthToken: NSObject,NSCoding {var refreshToken: String?var accesstoken: String?var scope: String?convenIEnce init?(refreshToken: String?,accesstoken: String?,scope:String) {    self.init()    if let acutalRefreshToken = refreshToken as String? {        self.refreshToken = acutalRefreshToken    } else {        return nil    }    if let actualAccesstoken = accesstoken as String? {        self.accesstoken = actualAccesstoken    }else {        return nil    }    self.scope = scope}convenIEnce init?(attributes: Dictionary<String,AnyObject>,scope: String) {    var aRefreshToken: String!    var anAccesstoken: String?    aRefreshToken = attributes["refresh_token"] as String?    anAccesstoken = attributes["access_token"] as String?    let token = self.init(refreshToken: aRefreshToken,accesstoken: anAccesstoken,scope: scope) as OAuthToken // () is not convertible to OAuthToken    if token != nil {        storeInKeyChain()    } else {        return nil    }}}

当你在另一个内部调用嵌套可用初始化程序时,如何检查nil的可用初始化程序?

let token = self.init(refreshToken:aRefreshToken,accesstoken:anAccesstoken,scope:scope)想要返回一个type()对象,而不是可转换为我的类.我如何使用此模式并仅将对象存储到钥匙串(如果它实际上已成功创建)?

我认为当你调用一个超类的可用初始化器时,如果它失败则会有一个隐式返回.

事实上,关于Failable Initializers的文档指出:

If the superclass initialization fails because of an empty name value,the entire initialization process fails immediately and no further initialization code is executed

总结

以上是内存溢出为你收集整理的如何在Swift中使用嵌套方便的可用初始值设定项检查nil?全部内容,希望文章能够帮你解决如何在Swift中使用嵌套方便的可用初始值设定项检查nil?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1030695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存