我为日期选择器创建了一个单独的类。importUIKitprotocolMYDatePickerViewControllerDelegate{funcdidFinishSelectingDate(selectedDate:NSDate)}classMYDatePickerViewController:UIViewController{@IBOutletweakvarcontainerView:UIView!@IBOutletweakvardatePicker:UIDatePicker!@IBOutletweakvarnavigationBar:UINavigationBar!varda
我正在编写一些基于我们的objective-c应用程序功能的Swift类。我有一个带有符合协议(protocol)的委托(delegate)的objective-c类。我正在尝试从Swift类内部调用该委托(delegate)的方法,我将其简化为这样。FredTestProtocol.h:@protocolFredTestProtocol-(void)dumbMethod;@endFredTestClass.h:#import#import"FredTestProtocol.h"@interfaceFredTestClass:NSObject@property(nonatomic,we
TL;DR->滚动到底部在尝试使用Swift面向协议(protocol)的编程中标记Apple时,我在尝试实现类之间的委托(delegate)模式时偶然发现了以下问题。我将从这个例子开始:protocolPhotoHandlerParent{}classUIViewController{}classMyViewController:UIViewController,PhotoHandlerParent{}classPhotoHandler:NSObject,UIImagePickerControllerDelegate,UINavigationControllerDelegate{we
我正在尝试制作一个UITextField扩展,它根据委托(delegate)的设置执行附加功能。extensionUITextField{overrideweakpublicvardelegate:UITextFieldDelegate?{didSet{print("Dostuff")}}}这失败了,出现了三个错误:'delegate'usedwithinitsowntype'weak'cannotbeappliedtonon-classtype'>'Propertydoesnotoverrideanypropertyfromitssuperclass要在委托(delegate)设置上
我正在创建一个名为WeatherService的类,它根据位置提供天气预报(惊喜!)。这里有很多地方可能出错;找不到位置,无法访问天气服务,...该服务有一个名为weatherFor的方法,以location对象作为参数。它是异步的。我正在使用Swift2。所以我一直在阅读有关Swift2.0中的错误处理的信息,似乎有一种方法可以被多个来源描述,那就是一个带有ResultType的闭包和一个成功处理程序,并且错误处理程序。我应该用那个吗?或者我应该像许多框架对象那样创建一个委托(delegate)并传递错误吗?我已经有一个天气服务委托(delegate),因为我需要知道它何时开始、何时
我有一个自定义委托(delegate)/协议(protocol)设置。我使用alamofire发出一个get请求,然后我解析json。json被排列成Swift对象,并传递回CollectionViewController。除了将它们发回的委托(delegate)永远不会被调用。不过,其他一切都很完美。这是我的相关代码:classViewController:UICollectionViewController,MainCatGallery{varcats=[Cats]()lettheManager=ImgurAPIManager()overridefuncviewDidLoad(){
我有一个子类CustomCell,它继承self的父类CreateEvent。该子类描述了TableView单元格的各个单元格,它位于CreateEventViewController上。在一个特定的单元格中,我有一个链接到CustomCell文件的文本字段,但是当用户输入文本字段时,我无法从该文本字段获取值。我也无法通过外部触摸关闭键盘并按下返回键,但我主要专注于从文本字段中获取文本。我熟悉在一个普通的swift文件上执行这些功能,但是因为这是一个子类和两个swift文件,所以我不确定该怎么做。这是我的代码:classCustomCell:UITableViewCell,UIText
这是一个cardCollectionView应用程序,我正在尝试使用长按删除项目并在项目中显示删除按钮。我已经可以删除项目,但我的项目不会重新加载到空位置。我发现问题是因为有一个协议(protocol)功能从不工作。这是我的协议(protocol):@objcprotocolActionDelegation:class{funcdeleteCell(_indexPath:IndexPath,_cellView:MyCollectionViewCell)funchideAllDeleteBtn()funcshowAllDeleteBtn()}hideAllDeleteBtn()和show
假设我们有一个协议(protocol)protocolMyProtocol{funsomeFunc()}classAClass{vardelegate:MyProtocol?}AClass不关心委托(delegate)是类还是结构。我想要的是有时委托(delegate)可以是一个类,有时可以分配给一个结构。我的问题是我是否应该让委托(delegate)变得“弱”。如果是这样,我必须让MyProtocol成为一个“类协议(protocol)”,这样委托(delegate)就只能是一个类。如果不是,当我将委托(delegate)分配给类时,如何避免保留循环?感谢任何提示!
我有两个ViewController,一个用于数据,另一个用于在UIPickerView中选取数据。所以,在根ViewController中,我想获得选择器View的委托(delegate)。我正在尝试这个:RootViewController:letsetReasonVc=self.storyboard?.instantiateViewController(withIdentifier:"setReasonVc")as!SetReasonViewControllersetReasonVc.providesPresentationContextTransitionStyle=trues