- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法理解 Swift 中的委托(delegate)。阅读了一些指南后,我能够在两个 ViewController 之间设置委托(delegate),但我不明白它是如何工作的。在我的第一个 View Controller 中,我有一个标签,显示在第二个 View Controller 中输入的内容,其中包含一个文本字段和一个按钮(返回到第一个 View Controller )。这是第一个 View Controller 的代码:
@IBOutlet weak var labelText: UILabel!
func userDidEnterInformation(info: String) {
labelText.text = info;
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "transition"){
let secondVC: SecondViewController = segue.destinationViewController as! SecondViewController;
secondVC.delegate = self;
}
}
这是第二个 View Controller 的代码:
protocol DataEnteredDelegate{
func userDidEnterInformation(info: String);
}
@IBOutlet weak var userText: UITextField!
var delegate: DataEnteredDelegate? = nil;
@IBAction func buttonPressed(sender: AnyObject) {
let information = userText.text!;
delegate!.userDidEnterInformation(information);
self.navigationController?.popToRootViewControllerAnimated(true);
}
我的理解是,在文本字段内的文本中存储在信息常量中,然后调用协议(protocol)中的 userDidEnterInformation 方法,该方法在第一个 View Controller 内定义。然后,此方法更改第一个 View Controller 内的标签。问题是,我不确定prepareForSegue 函数中发生了什么。具体来说,我不确定 secondaryVC.delegate = self 的目的是什么。
我希望对授权有任何明确的说明。
最佳答案
该图很简单,但可以帮助您了解正在发生的事情。
FirstViewController
必须符合DataEnteredDelegate
您定义的协议(protocol)(请参阅 Sumit 的回答)。使用时secondVC.delegate = self
,你是说对于segue transition
目的地是 SecondViewController
,属性delegate
其中SecondViewController
实例将被设置为 FirstViewController
的此实例,从而将事情委托(delegate)给 SecondViewController
给您FirstViewController
DataEnteredDelegate
使之成为可能协议(protocol)。
关于快速委派,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31527800/
我如何使用 php 将 kerberos 身份验证转发到另一台服务器(使用 CURL)。我的请求中有 $_SERVER['KRB5CCNAME'],我需要使用 curl 将其委托(delegate)给
我想知道是否有可能用 openiddict 实现一种与 here 类似的委托(delegate)授权类型使用 Identity Server。 var result = await _validato
我们正在使用 Plone 4.2.2,我们希望将用户帐户/组创建和内容管理本地角色委托(delegate)给我们的第 1 层帮助台人员。我们最初考虑使用站点管理员角色,只添加站点设置概述和站点设置用户
使用 webcomponents,您可以使用 /deep/ 定位 shadowdom 的内部元素,在我尝试使用事件委托(delegate)之前它工作正常。 一个常规的点击功能将起作用: $('html
使用 Firebase 委托(delegate)进行 Auth0 登录 .controller('LoginCtrl', function($scope, auth, $state, store) {
在下面的代码中(我希望)包含与我的问题相关的所有内容,ChangerView 中的 mouseEntered/-Exited 事件应该会更改 ChangingView 中的显示。 (ChangerVi
我已经开始使用 Hammer.js ( https://github.com/eightmedia/hammer.js ),这是一个很棒的小脚本,但我不确定如何使用 jQuery 的 .on() 事件
pymssql模块声称支持 Kerberos 身份验证(和委派),但我似乎无法启用它。 我正在运行的客户端是在 Windows 上。我需要通过反向数据库代理进行双跳连接。客户端、代理和数据库都是域的一
我正在使用 MFC 并有一个主框架,它从工具栏接收 WM_PASTE、WM_COPY 消息等。我想要做的是将此消息传递给具有焦点的 CPaneDialog,因为这是我希望我粘贴的文本去的地方。 我已经
我正在开发一个在双跃点场景中使用 kerberos 身份验证的应用程序:客户端正在连接到服务器,需要使用客户端的凭据来连接 SQL 服务器。 我已经使用 kerberos MIT 版本的 GSoap
好的,我花了大约 15 个小时试图解决这个问题,我终于辞职在这里发帖试图解决它。我知道这篇文章很长,但我已经完成了我将被告知要尝试的所有正常事情,所以我想确保它很清楚,这样我们就不会浪费时间。 我在
我们有 Sharepoint 2010 环境和 AD windows 认证用户,我们想显示来自 exchange server 2007 的用户未读收件箱电子邮件计数,但不幸的是,当我问这个问题时我们
我是一名优秀的程序员,十分优秀!