我是swift和ios开发的新手。我有两个类(class),希望他们联系起来。我没有使用prepareForSegue。这就是我的,一定是哪里出了问题。protocolTimeDelegate{functimerDidFinish()}classTimer:UIViewController{//thisiswherewedeclareourprotocolvardelegate:TimeDelegate?overridefuncviewDidLoad(){super.viewDidLoad()//Doanyadditionalsetupafterloadingtheview.}over
我正在尝试了解有关委托(delegate)模式的更多信息。我编写了一个访问用户相机胶卷的应用程序,我想在用户选择图像后在ViewController上显示该图像。这是我到目前为止所拥有的:importUIKitclassViewController:UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate{@IBOutletweakvarimagePickerView:UIImageView!overridefuncviewDidLoad(){super.viewDidLoad()//
我在swift中使用泛型类作为委托(delegate)时遇到了问题。例如,我尝试使用定义为的通用NSFetchedResultsDelegate:classFetchedTableController:NSFetchedResultsControllerDelegate在类中,我设置了一个NSFetchedResultsController并将委托(delegate)设置为“self”。但由于某种原因,委托(delegate)方法从未被调用过。当我删除类的通用部分时,委托(delegate)们按预期被调用:classFetchedTableController:NSFetchedRes
我有一个叠加层,我想在单击button时删除它,从而关闭ViewController。我已经调试并且delegate当前返回nil。我不确定我在这里做错了什么。我错过了实现其他东西吗?我什至尝试过打印语句,但什么也看不到。protocolDismissOverlayDelegate:class{funcdismissOverlay(_sender:PlayersViewController)}classPlayersViewController:UIViewController{weakvardelegate:DismissOverlayDelegate?@IBActionfuncge
这个问题在这里已经有了答案:Delegatesinswift?(15个答案)关闭3年前。在我的场景中,我试图在关闭ViewController期间将值从ViewControllerB传递到ViewControllerA。这里我使用了下面的代码,但我无法获取ViewControllerA中的值。ViewControllerB//protocolusedforsendingdatabackprotocolisAbleToReceiveData{funcpass(data:String)//data:stringisanexampleparameter}//Makingthisaweakva
我有3个ViewController:http://i58.tinypic.com/2envu2x.pngViewController1是第一个,它继续到ViewController2。ViewController3是ViewController2的subview,因为ViewController2中有一个容器View。我需要将数据从ViewController1传递到ViewController3。使用传统的委托(delegate)和协议(protocol),我必须实际转至ViewController3才能将数据传递给它。但是segue是从第一个ViewController到容器Vi
我环顾四周,阅读了大量博客以了解如何实现我的目标。我遇到的最容易理解的帖子是这里的帖子Passdatabacktopreviousviewcontroller.我确定我的理解是混淆的,但我想要完成的是在我的第二个View中滑动单元格时从map中删除注释。从CoreData中删除注释不是问题,当我单击rightCallOut时删除引脚也不是问题。当我想从VC2中的操作中删除VC1中map中的注释时,问题就来了。我在哪里误解了这个简单的过程,我该如何完成它?第一ViewControllerimportUIKitclassViewController:UIViewController,Pin
我正在使用Swift开发一个OSX应用程序,它使用一个NSSplitView,它包含两个ViewController:“TableViewController”和“EntryViewController”。我正在使用委托(delegate),以便在单击时将自定义NSObject(“Entry”)从TableViewController传输到SplitViewController,然后返回到EntryViewController。我的问题是这样的:当EntryViewController接收到Entry对象时,任何将其属性分配给文本字段值的尝试都会导致意外找到nil类型错误,不要介意IB
我正在尝试实现需要委托(delegate)方法的功能(如NSUserActivity)。因此,我需要一个符合NSUserActivityDelegate(或类似的其他委托(delegate))的UIViewController,处理并保存所有必需的信息。我的问题是我的界面使用SwiftUI,因此我没有使用UIViewControllers。那么我怎样才能实现这个功能并仍然使用SwiftUI作为UI。我尝试了什么:view1只是一个普通的SwiftUIView,它可以呈现(通过NavigationLink)view2,它是想要实现此功能的View。所以我尝试不链接view1和view2,
我正在尝试快速掌握委托(delegate)和协议(protocol)的概念。所以我用两个具体类BlueRayMedia和DVDMedia实现了我自己的PlayableMedia协议(protocol),如下所示:@protocolPlayableMedia{funcplay()funcstop()}classBlueRayMedia:PlayableMedia{funcplay(){println("BlueRayMediaisplaying")}funcstop(){println("BlueRayMediahasstoppedplaying")}}classDVDMedia:Pla