草庐IT

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

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

xcode - 带有委托(delegate)协议(protocol)的 Headerdoc - Swift 和 xcode 7.2

我已经定义了一个协议(protocol),并为这个协议(protocol)中的方法添加了HeaderDoc文档。当我Option+Click方法时它正确显示:但是,当我在实现此协议(protocol)的Controller中选择并单击实现时,文档没有显示:我的期望是我为协议(protocol)编写的文档会出现在Controller中,类似于Apple的文档:如何让我的协议(protocol)文档在其他地方可见? 最佳答案 如果您在协议(protocol)扩展中记录协议(protocol)的方法实现,则该文档将在符合该协议(proto

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

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

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

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

ios - Swift/如何使用 popViewController 调用委托(delegate)

我已阅读thisthread(和其他类似的)从下到上,但它根本不符合我的需求。我在UINavigationController中的UIPageViewController中有一个UIViewController。导航到第二个ViewController。导航到第三个ViewController并想返回到第二个ViewController传送数据。我目前的代码:protocolPassClubDelegate{funcpassClub(passedClub:Club)}classMy3rdVC:UIViewController{varclubs:[Club]=[]varpassClubD

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

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

ios - 如何在应用程序委托(delegate)中调用 View Controller 中的方法?

我需要在AppDelegate的ViewController类中调用一个方法。这是该方法的样子:classViewController:UIViewController{funcmyFunction(){...}}我试过使用window.rootViewController,但它告诉我方法myFunction不存在,因为rootViewController是UIViewController类型。我也试过varvc=ViewController()self.vc.myFunction()但这是在创建ViewController类的新实例,这也不是我想要的。这是我需要从中调用myFunct

swift - 在通用协议(protocol)上使用委托(delegate)

我有这个代码:protocolGenericProtocol:class{associatedtypetypefuncfunca(component:type)}classMyType{weakvardelegate:GenericProtocol?//Firsterrorvart:Tinit(t:T){self.t=t}funcfinished(){delegate?.funca(component:t)//Seconderror}}classUsingGenericProtocol:GenericProtocol{letmyType:MyTypetypealiastype=Inti

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

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

ios - 没有 prepareForSegue 的 Swift 委托(delegate)

我是swift和ios开发的新手。我有两个类(class),希望他们联系起来。我没有使用prepareForSegue。这就是我的,一定是哪里出了问题。protocolTimeDelegate{functimerDidFinish()}classTimer:UIViewController{//thisiswherewedeclareourprotocolvardelegate:TimeDelegate?overridefuncviewDidLoad(){super.viewDidLoad()//Doanyadditionalsetupafterloadingtheview.}over