草庐IT

Delegate

全部标签

ios - NavigationController 不会从函数调用 + swift 推送

我基本上是在尝试重新创建whatsapp。我的MainVC有一个显示所有当前对话的TableView,并有一个到ChatVC的推送转接以显示整个对话。当用户想要开始新的对话时,他们点击右上角的按钮,UserListVC从底部出现并显示用户列表。我的想法是,当用户单击用户时,“UsersListVC”会消失(显示mainVC)并调用一个函数来打开ChatVC。但是,在从MainVC中删除后,我无法成功调用函数。请不要现在我没有推送任何数据我只是想让segues正常工作MainVC.swiftfuncshowChatVC(){print("FUnctioncalled")letshowCh

swift 3 : Type error of generic delegate type with concrete consumer type

我有一个通用委托(delegate)ProducerDelegate的问题,它将有一个与消费者IntConsumer相同类型的参数(Int)方法需要它(Int)如果将调用委托(delegate)方法并且我想使用接收到的值elementfuncdidProduce(from:Producer,element:Int){output(element:element)}调用其他方法时出现错误:无法将“Int”类型的值转换为预期的参数类型“Int”我的问题是为什么?我解释一下我的情况(这里是一个具有相同来源的playground文件:http://tuvalu.s3.amazonaws.com

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

ios - 检查可选的多参数委托(delegate)方法

Swift新手。如果(a)设置了委托(delegate)并且(b)实现了方法,则努力寻找最简洁/惯用的语法来调用可选的委托(delegate)方法。我知道?可以扮演这个角色(例如self.delegate.foo?()),但我在尝试调用ObjC时无法获得正确的语法具有多个参数并返回一个我关心捕获的值(Bool)的委托(delegate)方法(我想区分“未实现的方法”和“已实现并返回false的方法”)。这是一个例子。在这种情况下,MyDelegateProtocol有一个可选方法-myThing:argTwo:argThree:(返回Bool)。这段代码似乎语义正确,但它使用了resp

ios - 试图导出到 csv 但我如何从委托(delegate)中实现?

[swift的新手]我测试这个函数来导出一些简单的文件@IBActionfuncexportFile(delegate:UIDocumentInteractionControllerDelegate){print("exportcsv")letfileName=tmpDir.stringByAppendingPathComponent("myFile.csv")leturl:NSURL!=NSURL(fileURLWithPath:fileName)ifurl!=nil{letdocController=UIDocumentInteractionController(URL:url)d

ios - 从自定义 UITableViewCell 获取数据并返回到 UITableViewController

我有一个由自定义UITableViewCells组成的UITableView。在每个单元格中,都有一个UILabel和一个UISlider。有谁知道如何在其中一个slider的值发生变化时,将slider的新值从自定义UITableViewCell(在单独的文件中)发送到UITableViewController,以便我可以更新从中填充表的数组?到目前为止我得到的最接近的是失败的hack:当slider值更改时触发setSelected事件。虽然这会突出显示已更改的自定义单元格,但UITableViewController中的didSelectRowAtIndexPath不会拾取该事件