草庐IT

ios - Swift 委托(delegate)和可选

我已经声明了这个协议(protocol)protocolReactorDelegate{funcReactorUpdateUI()}在我的模型中,我有一个委托(delegate)可选属性并检查是否为空,将其解包以调用VC提供的协议(protocol)方法。vardelegate:ReactorDelegate?ifdelegate{delegate?.ReactorUpdateUI()}我的VC遵循协议(protocol)并具有ReactorUpdateUI方法classVC_Reactor:UIViewController,ReactorDelegate我试图在VC中创建模型的实例,

swift - 无法从 Xcode 6.1 中的 Storyboard连接自定义协议(protocol)委托(delegate)

我刚刚将我的mac升级到10.10,将Xcode升级到6.1,发现一个关于Storyboard的奇怪的东西,我的案例使用的是一个swift项目,无法再从Storyboard连接自定义协议(protocol)委托(delegate)。老版本Xcode自带的旧连接没问题,但我不能再连接任何新的委托(delegate)。即使我删除连接后也无法重新连接旧的。有人遇到这种情况吗??==============================更新==============================ViewClass@objcpublicprotocolVideoViewResizeDele

ios - UIVideoEditorController 委托(delegate)方法调用了两次

我正在使用UIVideoEditorController,但成功委托(delegate)方法为我调用了两次。然而,所有传递对象的所有指针都告诉它发送完全相同的数据。leteditor=UIVideoEditorController()editor.videoMaximumDuration=10.0editor.videoQuality=.typeIFrame1280x720editor.delegate=selfeditor.videoPath=//somepathgoeshereself.present(editor,animated:true,completion:nil)然后下面

delegates - 通过 Swift 访问委托(delegate)的正确方法是什么?

我正在尝试模拟使用Swift访问对象委托(delegate)的Objective-C模式。通常我会将协议(protocol)放在两个UIViewController之间共享的.h中。目的:调用委托(delegate)(主机)解除(推送的)UIViewController。问题:无法访问委托(delegate)的hello()。以下代码可以编译,但出现运行时错误:未知委托(delegate)方法(见下文)。主机/调用(委托(delegate))对象:importUIKitclassMainViewController:UIViewController,ProtocolNameDelega

ios - Swift:我的委托(delegate)协议(protocol)方法需要在另一个 View Controller 上执行

这是一个非常令人困惑的问题,所以我会尽力解释它。我有ViewControllerA、B、C、D和E我不确定我说的对不对,但换个说法,E需要与A对话,但A和E之间没有segue来设置委托(delegate)。A>B>C>D>E>A有人告诉我,当你在swift中使用委托(delegate)来访问ViewController之间的数据时,你必须准备好一些东西:为对象B定义委托(delegate)协议(protocol)。给对象B一个可选的委托(delegate)变量。这个变量应该很弱。让对象B在发生有趣的事情时向它的委托(delegate)发送消息发生,例如用户按下取消或完成按钮,或者当它需

ios - 在容器 View 中设置委托(delegate)

我的Storyboard中有一个容器View,它显示了另一个我已经编程和填充的ViewController。我想在主视图Controller和包含ViewController之间进行通信。我知道如何使用委托(delegate)并且我很乐意使用它们,但是我通常在初始化ViewController时设置委托(delegate),但是在这种情况下我不知道在哪里应用它,因为ViewController已经存在于Storyboard中.通常我会做这样的事情:classHomeVC:UIViewController{funcinitializeVC(){resultsVC=self.storybo

ios - swift 3.0 的 map View 注释委托(delegate)

//MARK:-MapViewDelegateoverridefuncmapView(_mapView:MKMapView,viewForAnnotationannotation:MKAnnotation)->MKAnnotationView?{varanView=mapView.dequeueReusableAnnotationView(withIdentifier:annotationReuseId)ifanView==nil{anView=MKAnnotationView(annotation:annotation,reuseIdentifier:annotationReuseI

ios - UITextView 委托(delegate)多次调用

我正在使用UITextView并实现了委托(delegate)功能varcount=0functextView(_textView:UITextView,shouldChangeTextInrange:NSRange,replacementTexttext:String)->Bool{print(text)count+=1print(count)returntrue}样本当我从键盘选择预测文本时,shouldChangeTextInRange委托(delegate)调用了两次。为什么这个代表打电话两次?为什么单独使用预测文本会发生这种情况 最佳答案

ios - WKWebView,用于了解 iOS 10 中 DOM 何时准备就绪的委托(delegate)方法

我正在查看WKUIDelegate的文档我看到有一种方法可以知道DOM何时成功关闭。有没有办法知道DOM何时已成功加载,以便我可以开始在JavaScript中与其交互? 最佳答案 您可以使用注入(inject)时间为atDocumentEnd的WKUserScript在加载过程结束时运行JavaScript。然而,一些子资源可能还没有加载,所以如果你想等到最后,你将不得不使用WKNavigationDelegate的didFinish并调用evaluateJavaScript。 关于io

ios - UItextView 委托(delegate) swift - textViewDidBeginEditing 未调用

我看过其他关于UITextView委托(delegate)的主题,但似乎无法找到我的问题出处。这是我的代码,但是当我修改我的UITextView时,没有任何反应,也没有调用textViewDidBeginEditing。importUIKitvartextView1=UITextView()classViewController:UIViewController,UITextViewDelegate{overridefuncviewDidLoad(){super.viewDidLoad()textView1.delegate=selftextView1=UITextView(frame