我是ios开发人员的新手。我使用功能将数据传递给一个视图控制器,再传递给另一个视图控制器
var vc = MessageViewController()
vc.printSomething(address: address,id: id)
我将地址和ID传递给MessageViewController。在MessageViewController中
func printSomething(address: String,id: String) {
print("address",address)
print("id",id)
address_text.text = "\(address)"
}
上面的代码中我打印地址,id,但是当我在UITextField
address.text 上设置地址时,出现了包装错误。
答案 0 :(得分:0)
我曾经创建一个类方法来像这样从情节提要中实例化视图控制器...
class MessageViewController: UIViewController {
//other methods
//MARK:- Class Method
class func viewController() -> MessageViewController {
return UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "<Storyboard Id>") as! MessageViewController
}
}
您只需要用于实例化视图控制器
var vc = MessageViewController.viewController()
您可以像下面的图片一样设置情节提要标识符。
答案 1 :(得分:0)
嗨,这是变量未分配给 address_text 的问题,因为在调用方法( printSomething )时未初始化xib,在此之前需要保存两个变量MessageViewController中的地址和ID,并在 printSomething 方法中为这些变量分配ID和地址,然后您可以在 viewdidload 方法中将这些值赋给 address_text MessageViewController