gpt4 book ai didi

ios - 这个函数/变量是如何工作的?

转载 作者:可可西里 更新时间:2023-11-01 02:16:48 26 4
gpt4 key购买 nike

我正在使用以下代码来检索 NSURLCredentials:

let credentials: NSURLCredential? = {
let loginProtectionSpace = NSURLProtectionSpace(host: host, port: 0, protocol: NSURLProtectionSpaceHTTP, realm: nil, authenticationMethod: NSURLAuthenticationMethodDefault)
let credentials = NSURLCredentialStorage.sharedCredentialStorage().defaultCredentialForProtectionSpace(loginProtectionSpace)
return credentials
}()

这会在用户打开应用时调用。返回的凭据为零。然后我设置这些凭据并尝试再次打印凭据,但它仍然是零。但是,如果我重新启动应用程序,打印的凭据就在那里。这是怎么回事?

最佳答案

这是一个惰性变量。当您首次访问该属性时,代码将执行一次。之后,最初返回的值被“记住”并在以后的调用中返回。

如果您自己在 NSURLCredentialStorage 中设置凭据,那么在下次启动应用程序时,第一次访问该属性会再次执行代码并检索存储的凭据。请注意,在您第一次设置凭据的运行期间,从存储中检索凭据的实际 3 行代码不会执行第二次,因此在该应用程序运行期间,该属性仍然是 nil而实际上存储中有一个值。如果您修改现有凭据,则会发生类似的事情 - 在您更改它们的运行期间,凭据 仍将保留对先前凭据的引用。

如果您希望能够重新查询商店,您应该要么

关于ios - 这个函数/变量是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37488581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com