点击sendDate时,如何将存储在data中的数据移动到下一个VC中,并将其追加到我的列表中?下面是我的发送类的代码:
protocol DataSentDelegate{
func userDidEnterData(data: String)
}
class SecondViewController: UIViewController{
var delegate: DataSentDelegate!
@IBAction func addItem(_ sender: Any)
{
let data = textField.text
delegate?.userDidEnterData(data: data)
}下面是接收类的代码:
class SecondPageViewController: UIViewController, DataSentDelegate{
func userDidEnterData(data: String) {
}
@IBAction func sendDate(_ sender: UIDatePicker) {
}如何在data保存textField.text值的情况下实现list.append(data!)
发布于 2017-03-23 02:25:57
你不需要在SecondPageViewController中将委托设置为self (通常在ViewDidLoad中?
您声明了它,但似乎没有分配它。
发布于 2017-03-23 02:49:01
发布于 2017-03-22 05:30:12
如果你只是在你的SecondPageViewController中添加一个数组变量来保存一个字符串列表,然后在每次调用sendDate委托方法时追加一个新的字符串,怎么样?
另外,如果你使用的是可选链接,就不需要声明你的委托变量是隐式解包的,只要把它声明为可选的即可。其次,因为SecondPageViewController是一个类,所以最好将您的委托协议类绑定为:protocol DataSentDelegate: class { func userDidEnterData(data: String) }。第三,为了避免可能的强引用循环使您的委托变量成为弱引用。
https://stackoverflow.com/questions/42929830
复制相似问题