我有两个视图控制器,一个和两个。我从VC一到VC二。在VC 2上,我选择一些存储在数组中的数据。当我按下导航栏上的“返回”按钮时,我想将该阵列发送回VC
One。
使用Swift和Storyboards做到这一点的最佳方法是什么?
谢谢!
如果要使用“完成”和“取消”按钮(有点像选择器)来显示模式视图,则在展开segue方法期间获取值可能是最简单的。
假定您要使用导航控制器的本机“后退”按钮,则最佳实践可能是实施VC One可以遵循的协议,并在选择VC Two上的数据后立即更新VC One。就像是:
在VCTwo.swift中:
protocol VCTwoDelegate {
func updateData(data: String)
}
class VCTwo : UIViewController {
var delegate: VCTwoDelegate?
...
@IBAction func choiceMade(sender: AnyObject) {
// do the things
self.delegate?.updateData(self.data)
}
...
}
并在VCOne.swift中:
class VCOne: ViewController {
...
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "VCTwoSegue" {
(segue.destinationViewController as VCTwo).delegate = self
}
}
...
}
extension VCOne: VCTwoDelegate {
func updateData(data: String) {
self.internalData = data
}
}
问题内容: 我知道如何使用 prepareForSegue函数中的segues传递数据,但是我有一个TableViewCell,从那里有两个可能的segues到两个不同的ViewControllers(现在让我们说A,B)。在这里建议最好将segues连接到View控制器,而不是将tableCell本身连接,事实如此,效果很好。但是我想在单击单元格时将信息传递给第二个View控制器,因此如何访
顺便说一下,在使用/而不是发射器时,我遇到了同样的问题。我已经决定给你们举这个例子,因为它很容易理解和再现。
问题内容: 我正在快速的ios应用程序中实现。 目前,在几个面板上,我正在侦听服务器并等待传入消息。我这样做是通过在每个面板中调用该函数: 但是我注意到这是一个错误的方法,我需要更改它-现在我只想开始监听一次传入的消息,并且当出现任何消息时-将此消息传递给任何侦听它的面板。 所以我想通过NSNotificationCenter传递传入的消息。到目前为止,我能够传递发生了某些事情的信息,但无
问题内容: 首先,我真的很惊讶这不是重复的,因为在Objective-C中有大量的堆栈溢出问题可以解决这个问题,但是我还没有看到使用Swift的好答案。 我正在寻找的是Swift中的代码段,该代码段将任意字符串作为文本消息的正文发送到给定的电话号码。从本质上讲,我希望像这样从苹果的官方文档,但是在斯威夫特,而不是Objective- C的。 我认为这并不是太困难,因为可以在Android中只需几行
问题内容: 我有数组,需要不使用方法而仅通过循环将其反转。 问题答案: 这是@Abhinav的答案翻译为 Swift 2.2 : 使用此代码不会给您有关不赞成使用C样式for循环或使用的任何错误或警告。 Swift 3-当前: 另外,您可以正常循环并每次减去:
我正在创建一个用户设置帐户使用故事板的5个步骤。每个步骤都有一个ViewController:1:)输入姓名、联系人等,2:)导入照片,3:)输入等4:)更多输入5:)确认页面,如果用户点击“确认”->获取所有输入并上传解析。 我在网上搜索时得到的唯一解决方案是创建一个函数“Prepare for Segue”并传递信息...但对我来说,这没有任何意义: 如果我有1000个viewcontroll