gpt4 book ai didi

ios - 调用将隐藏另一个类的按钮的函数 - swift

转载 作者:行者123 更新时间:2023-11-28 07:37:17 25 4
gpt4 key购买 nike

我正在尝试创建一个类似 IMDB 的电影应用程序,当用户未登录并按下“跳过”按钮时,“收藏夹”(将电影添加到收藏夹)按钮将消失。

LandingViewController 是“跳过”按钮所在的位置,而 MovieTableViewCell 是显示所有数据的位置。

我必须做什么才能使隐藏操作在函数内部起作用?这背后的逻辑是什么?我错过了什么?

请检查代码中的以下注释。谢谢!

import UIKit

class LandingViewController: UIViewController {
@IBOutlet weak var skipButton: UIButton!

override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func didTapSkip(_ sender: Any) {
MovieTableViewCell().hideButton()
}

import UIKit

class MovieTableViewCell: UITableViewCell {
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var ratingLabel: UILabel!
@IBOutlet weak var languageLabel: UILabel!
@IBOutlet weak var releaseYearLabel: UILabel!
@IBOutlet weak var posterImage: UIImageView!
@IBOutlet weak var favoriteButton: UIButton?




override func awakeFromNib() {
super.awakeFromNib()
favoriteButton?.isHidden = true // works here for some reason
}


override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)


}

func hideButton() {
favoriteButton?.isHidden = true // doesn't work and If I unwrap it, the app will crash, because it will find the buttton as NIL for some reason
print("hidebutton") // the print works so the function works when the skip is pressed

}

最佳答案

尝试使用 NSUserDefaults

在 LandingViewController 中

@IBAction func didTapSkip(_ sender: Any) {
UserDefaults.standard.set(true, forKey: "didSkip")
}

在 MovieTableViewCell 中

override func awakeFromNib() {
super.awakeFromNib()
if UserDefaults.standard.bool(forKey: "didSkip") {
favoriteButton?.isHidden = true
} else {
favoriteButton?.isHidden = false
}
}

关于ios - 调用将隐藏另一个类的按钮的函数 - swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53054740/

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