gpt4 book ai didi

swift - 由于 [weak self],我发现自己经常使用 "if self != nil"...这正常吗?

转载 作者:可可西里 更新时间:2023-10-31 23:55:02 25 4
gpt4 key购买 nike

示例(在我的 View Controller 中):

RESTApi.fetchUser() { [weak self] Void in 
if self != nil { //the view controller is still here.
self!.items.append(stuff)
self!.whatever

}
}

我注意到我立即使用 if self != nil ,然后到处都是 self! 。有没有更好的办法?我觉得这有悖于 Swift 的方式。

注意:我使用 [weak self] 因为我的 ViewController 可能为 nil(如果用户在 REST Api 下载数据之前返回)。

最佳答案

为什么不使用 if let

if let unwrappedSelf = self {
unwrappedSelf.items.append(stuff)
...
}

你也可以使用guard let:

guard let unwrappedSelf = self else { return }

unwrappedSelf.items.append(stuff)
...

关于swift - 由于 [weak self],我发现自己经常使用 "if self != nil"...这正常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36733556/

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