草庐IT

Delegate

全部标签

ios - 使用委托(delegate)/协议(protocol)将数据传递给第三方 View Controller

我有3个ViewController:http://i58.tinypic.com/2envu2x.pngViewController1是第一个,它继续到ViewController2。ViewController3是ViewController2的subview,因为ViewController2中有一个容器View。我需要将数据从ViewController1传递到ViewController3。使用传统的委托(delegate)和协议(protocol),我必须实际转至ViewController3才能将数据传递给它。但是segue是从第一个ViewController到容器Vi

Swift GameplayKit 在不暂停场景的情况下暂停 GKAgent

暂停GKAgent的最佳方法是什么?我的游戏在某些级别使用了一些代理,我需要在我的游戏暂停/gameOver时暂停它们。我不会在我的游戏中暂停整个SKScene,而是暂停一个worldNode,因为即使在游戏暂停时,它也能让我更灵活地显示spriteKit内容。我正在使用updateWithDeltaTime...更新代理行为并相应移动它们的方法。我考虑过停止更新方法,但代理仍会移动到他们最后已知的GKGoal。目前我找到的最佳解决方案是在我的游戏暂停时将代理速度/最大速度设置为0。我在这里遇到的问题是,恢复后将速度重置为代理以前的速度有点痛苦,尤其是在使用多个具有自己行为的代理时。它

ios - Swift 3 协议(protocol)和委托(delegate)方法?

我环顾四周,阅读了大量博客以了解如何实现我的目标。我遇到的最容易理解的帖子是这里的帖子Passdatabacktopreviousviewcontroller.我确定我的理解是混淆的,但我想要完成的是在我的第二个View中滑动单元格时从map中删除注释。从CoreData中删除注释不是问题,当我单击rightCallOut时删除引脚也不是问题。当我想从VC2中的操作中删除VC1中map中的注释时,问题就来了。我在哪里误解了这个简单的过程,我该如何完成它?第一ViewControllerimportUIKitclassViewController:UIViewController,Pin

Swift OSX - 委托(delegate)协议(protocol)函数返回 nil,在展开文本字段值时崩溃

我正在使用Swift开发一个OSX应用程序,它使用一个NSSplitView,它包含两个ViewController:“TableViewController”和“EntryViewController”。我正在使用委托(delegate),以便在单击时将自定义NSObject(“Entry”)从TableViewController传输到SplitViewController,然后返回到EntryViewController。我的问题是这样的:当EntryViewController接收到Entry对象时,任何将其属性分配给文本字段值的尝试都会导致意外找到nil类型错误,不要介意IB

ios - 委托(delegate)未调用 Swift 协议(protocol)方法

出于某种原因,在主视图Controller中未调用委托(delegate)方法。我在这里寻找其他答案,但没有一个对我有帮助。我在这里错过了什么吗?(为了简单起见,我缩短了原始代码)主视图Controller:classVC:ParserDelegate{vardataSource=Parser()overridefuncviewDidLoad(){super.viewDidLoad()dataSource.delegate=selfdataSourse.loadAndParse()}funcdidReceiveDataUpdates(store:[WeatherModel]){prin

swift - 在 SwiftUI View 中实现委托(delegate)

我正在尝试实现需要委托(delegate)方法的功能(如NSUserActivity)。因此,我需要一个符合NSUserActivityDelegate(或类似的其他委托(delegate))的UIViewController,处理并保存所有必需的信息。我的问题是我的界面使用SwiftUI,因此我没有使用UIViewControllers。那么我怎样才能实现这个功能并仍然使用SwiftUI作为UI。我尝试了什么:view1只是一个普通的SwiftUIView,它可以呈现(通过NavigationLink)view2,它是想要实现此功能的View。所以我尝试不链接view1和view2,

protocols - 类型 'className -> () -> className!' 不符合协议(protocol)

我在摆弄Swift。我有一个协议(protocol)定义为protocoltimerProtocol{functimerFired()}持有对委托(delegate)的引用的类classStopwatch:NSObject{vardelegate:protocolinit(delegate:protocol){self.delegate=delegate}...}和一个实现协议(protocol)的类classStopwatchesTableViewController:UITableViewController,timerProtocol{functimerFired(){print

ios - 为什么我的简单 swift 委托(delegate)和协议(protocol)设置不起作用?

我正在尝试快速掌握委托(delegate)和协议(protocol)的概念。所以我用两个具体类BlueRayMedia和DVDMedia实现了我自己的PlayableMedia协议(protocol),如下所示:@protocolPlayableMedia{funcplay()funcstop()}classBlueRayMedia:PlayableMedia{funcplay(){println("BlueRayMediaisplaying")}funcstop(){println("BlueRayMediahasstoppedplaying")}}classDVDMedia:Pla

objective-c - 如何引用子类的父 View Controller ?

在这里你可以看到我已经将我的子类textView的委托(delegate)设置为它自己:importFoundationclassImageCaptionTextView:UITextView,UITextViewDelegate{overridefuncawakeFromNib(){super.awakeFromNib()delegate=self}现在在我的Controller中,我的委托(delegate)方法不起作用。我正在使用ImageCaptionTextView子类中的所有ImageCaptionTextView委托(delegate)方法,而不是它们以前所在的位置,即C

ios - Swift 委托(delegate)返回 nil

我尝试从UITableViewCell中调用UIAlertController。我有我的代表protocolDEPFlightStripCellDelegate{funccallAlert(AlertCon:UIAlertController!)}我在下面的TableViewCell类中调用了它。classDEPFlightStripCell:UITableViewCell{vardelegate:DEPFlightStripCellDelegate?@IBActionfuncchangeClearedFlightLevel(sender:UIButton){letAddAlert:U