草庐IT

Delegates

全部标签

swift - 在 swift 中将泛型类设置为委托(delegate)

我有一个XMLUtil类,它包装了一些xml解析功能。该类有一个通用参数T。该类还充当NSXMLParserDelegate到NSXMLParser委托(delegate)者。classXMLUtil:NSObject,NSXMLParserDelegate{......init(){parser=NSXMLParser(data:NSData)parser.delegate=selfparser.parse()}......//delegatemethodimplementations}问题:当我的XMLUtil类是通用类时,永远不会调用委托(delegate)方法。但是,当我实现不

ios - Swift Delegate 方法永远不会被调用

我已经在模态中声明了我的协议(protocol),如下所示protocolMapViewControllerDelegate:class{//funcmapViewLocationSelected(sender:AnyObject,location:CLLocation,address:String)funcdidSelectMap(sender:AnyObject)}我还如下声明了委托(delegate)weakvardelegate:MapViewControllerDelegate?然后我关闭屏幕并如下调用委托(delegate)方法self.dismissViewControl

ios - 协议(protocol)委托(delegate)有时不工作

我遇到了一个协议(protocol)委托(delegate)并不总是响应的问题。这是我的实现:protocolCameraViewDelegate:class{funcdidTapCancel(sender:CameraView)funcdidFinishSelectingPhoto(image:UIImage,sender:CameraView)}在CameraView类中我有:weakvardelegate:CameraViewDelegate?和@IBActionfunccancelButtonTapped(){delegate?.didTapCancel(self)}@IBAc

ios - 自定义 uitextfield 的保留循环(强引用)修复?

我有一个自定义文本字段类“loginTextFields”。我最近注意到我在其中使用这些文本字段的ViewController没有被释放,我怀疑它与这些文本字段有关......非常感谢任何指导:)我已经查了很多stackoverflow帖子,但没有一个真正帮助我。txt字段类:classLoginTextFields:UITextField,UITextFieldDelegate{overrideinit(frame:CGRect){super.init(frame:frame)delegate=selfsetConstraints()}}ViewController:classLog

ios - 未触发自定义委托(delegate)方法

我使用以下代码在TabBarController中添加了一个圆形按钮importUIKitprotocolAddButtonProtocol:class{funcaddButtonIsClicked()}classMainTabBar:UITabBar{openvarbuttonDelegate:AddButtonProtocol?privatevarmiddleButton=UIButton()overrideopenfuncawakeFromNib(){super.awakeFromNib()setupMiddleButton()}overrideopenfunchitTest(_

ios - 为什么 UITabBarControllerDelegate 在我设置后立即为 nil?

我有一个涉及UITabBarControllerDelegate的奇怪问题。我正在使用以下代码:importUIKitclassMainTabBarController:UITabBarController{overridefuncviewDidLoad(){super.viewDidLoad()self.delegate=MainTabBarControllerDelegate()print("didsetdelegateto\(self.delegate)")}}classMainTabBarControllerDelegate:NSObject,UITabBarControlle

ios - 将单元格委托(delegate)添加到类时出错 - swift

添加此代码时为什么会出现错误?:,myProfileWorkoutTableViewCellDelegate我的课?classmyProfileTableViewController:UITableViewController,UICollectionViewDataSource,UICollectionViewDelegate,myProfileWorkoutTableViewCellDelegate{这是我的myProfileTableViewCell.swift的开头:importUIKitimportFirebaseimportFirebaseDatabaseprotocolm

swift - 如果类没有父类(super class),我如何遵守协议(protocol)?

这个问题在这里已经有了答案:WhyinswiftwecannotadoptaprotocolwithoutinheritanceaclassfromNSObject?(2个答案)关闭7年前。我有一个Controller类(不是viewController),我希望它符合某个协议(protocol)。此Controller类不是任何其他类的子类,因此它没有父类(superclass)。如果类没有父类(superclass),我如何遵守协议(protocol)?这是行不通的:classxxxController,yyyDelegate这不是我们想要的:classxxxController:

ios - 想要创建一个监听器来检测整个应用程序中的 viewWillAppear 调用

我想要一个监听器,它会在推送新的UIViewController时进行报告。我可以通过从单个类继承子类然后监听superviewDidLoad/viewDidAppear调用来实现这一点。但我仍然必须传递子类名字super。Isthereanyotherwaytoautomaticallydetectwheneveranynewviewappears?它的上下文是我正在开发一个报告屏幕加载时间等的logging库。我还想在单个点上收听应用程序中的任何按钮点击。 最佳答案 出于日志记录的目的,您不需要子类化或繁琐地向每个UIViewC

ios - 如何创建具有符合通用协议(protocol)的弱委托(delegate)的基类?

我想为UIView创建一个基类,它要求委托(delegate)符合View定义的特定协议(protocol)。classBaseView:UIView{weakvardelegate:P?}protocolMyProtocol{}classMyView:BaseView{}这给了我错误:“‘weak’不得应用于非类绑定(bind)的‘T’;考虑添加具有类绑定(bind)的协议(protocol)一致性”。如何修复此错误?或者有一些解决方法吗?还是一开始就没有必要让委托(delegate)变量变弱?提前致谢。 最佳答案 由于weak是