Ios Swift 4-将数据从ViewController传递到ViewController到选项卡栏
这是我的密码: 主视图控制器 TabBarViewController: 我在MainViewControler中创建了正确的对象,但当我打开选项卡ViewControler时,该对象的数据不可见Ios Swift 4-将数据从ViewController传递到ViewController到选项卡栏,ios,swift,xcode,Ios,Swift,Xcode,这是我的密码: 主视图控制器 TabBarViewController: 我在MainViewControler中创建了正确的对象,但当我打开选项卡ViewControler时,该对象的数据不可见 有人知道为什么会发生这种情况以及如何解决这个问题吗?编辑:我在我的项目中检查了类似的功能,在那里我将loggedUser对象传递给下一个View Controller,我有类似的东西: override func prepare(for segue: UIStoryboardSegue, sender
有人知道为什么会发生这种情况以及如何解决这个问题吗?编辑:我在我的项目中检查了类似的功能,在那里我将loggedUser对象传递给下一个View Controller,我有类似的东西:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "toLoginUser" {
let navCon = segue.destination as! UINavigationController
let newsVC = navCon.topViewController as! NewsViewController
if let user = sender as? NSManagedObject {
newsVC.loggedUser = self.loggedUser
}
}
}
尝试在不使用self.present方法的情况下使用此方法,因为视图应自动显示。在我的例子中,这种方法的工作原理与您在评论中所描述的一样。您能再解释一下您到底想要实现什么吗?你的代码很难读。是的。我有一个登录表单,在有效登录后创建一个对象。我想将此对象从MainViewControllerLoggeDuser传递到TabBarViewController并显示它。@ukaszBetta请现在检查,我更改答案以对应具有相同功能的工作项目这是我的完整代码:你能给我写下如何准确更改它吗?
class NewsViewController: UIViewController {
var loggedUser : LoginUser?
override func viewDidLoad() {
super.viewDidLoad()
print("Sprawdzam obiekt: \(loggedUser)")
dump(loggedUser)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func testBtnPressed(_ sender: Any) {
print("Sprawdzam obiekt: \(self.loggedUser)")
dump(self.loggedUser)
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.tabBarController?.navigationItem.title = "Aktualności"
}
override var prefersStatusBarHidden: Bool {
return true
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "toLoginUser" {
let navCon = segue.destination as! UINavigationController
let newsVC = navCon.topViewController as! NewsViewController
if let user = sender as? NSManagedObject {
newsVC.loggedUser = self.loggedUser
}
}
}