Я попытался передать значение между viewControllers. Но проблема в том, что значение всегда равно нулю.Передающее значение дает нуль, даже если значение действительно существует
В firstVC я:
// Create a custom view controller
let ratingVC = RatingViewController(nibName: "RatingView", bundle: nil)
// Create the dialog
let popup = PopupDialog(viewController: ratingVC, buttonAlignment: .horizontal, transitionStyle: .bounceDown, gestureDismissal: true)
ratingVC.selectedTestString = "HELLO"
// Present dialog
self.present(popup, animated: true, completion: nil)
И в secondVC:
var selectedTestString: String! //Unwrapping because I know value does exist
override func viewDidLoad() {
super.viewDidLoad()
print(selectedTestString) //Gives nil
}
Я делаю это первый раз с .xib
, но я думаю, что концепция должна быть такой же.
может быть, есть что-то вроде слабых и сильных в Obj-C – SeanChense
вы можете попробовать сделать '' ratingVC' в var' от 'let'. Возможно, ему придется что-то сделать, когда копия «ratingVC» передается не ссылкой (функциональное программирование типа Swift). Или лучше установить значение перед созданием 'popup' – MjZac