gpt4 book ai didi

ios - 如何在推送到目标 View Controller 之前设置图像?

转载 作者:行者123 更新时间:2023-11-30 11:45:33 25 4
gpt4 key购买 nike

我想在目标 View Controller 的配置文件按钮上显示图像,但是当我尝试从源 View Controller 分配图像时,它崩溃了,因为我的“proficPicButton”为零。

let cell = tableView.cellForRow(at: indexPath) as! FacebookTableViewCell
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let objFriendsDetailViewController = storyBoard.instantiateViewController(withIdentifier: "FriendsDetailViewController") as! FriendsDetailViewController
objFriendsDetailViewController.friendsName = cell.friendsName.text! //Can Assign Data to the property "friendsName"
objFriendsDetailViewController.remindersDataDict = ["birthDay":cell.friendsBirthDay.text!] //Can Assign Data to the property "remindersDataDict"

let image = cell.profilePicButton.image(for: .normal)

print(objFriendsDetailViewController)
print(objFriendsDetailViewController.remindersTableView) //It says nil
print(objFriendsDetailViewController.profilePicButton) //It says nil

objFriendsDetailViewController.profilePicButton.setImage(image, for: .normal) //Can't Assign Image to the property "profilePicButton"
self.navigationController?.pushViewController(objFriendsDetailViewController, animated: true)

如何将源 View Controller 中的图像设置到目标 View Controller 中的按钮?

最佳答案

在触发推送时,目标 View Controller 的 UI 组件未设置。 UI 组件在 set 模式下的实际位置是 View Controller 的 viewDidLoad() 。因此,您尝试在 UI 实际上从未设置状态转换到设置状态之前设置图像。并且您的 Button 是隐式展开的 optional ,它告诉您,如果在初始化之前访问或在值为 nil 时访问则崩溃

现在,这不是实现您正在尝试的目标的方法。实际的做法是:

  • 在目标 View Controller 上拥有属性
  • 在初始化目标 View Controller 时将对象传递给该属性
  • 当目标 View Controller 准备就绪(本质上是 viewDidLoad())时,您可以使用该属性更新相应的 View

关于ios - 如何在推送到目标 View Controller 之前设置图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48862450/

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