草庐IT

delegating-constructor

全部标签

swift - 我正在使用谷歌地图自动完成包装器,但我没有遵守委托(delegate)。这是怎么回事?

我正在使用https://github.com/mrugrajsinh/MVAutocompletePlaceSearchTextField在输入地址时为我的应用创建自定义自动完成UI。但是,尽管一切都在那里,但我似乎无法遵守协议(protocol)。桥接头和组已正确处理,因为我可以在我的VC中毫无问题地访问这些方法,但我无法编译,因为它不符合要求。ObjectiveC协议(protocol)是:@protocolPlaceSearchTextFieldDelegate;@interfaceMVPlaceSearchTextField:MLPAutoCompleteTextField@

ios - 如何覆盖 XCTest 中的 TableView 委托(delegate)

如何为这个“成功”场景编写测试用例?if([tblView.delegaterespondsToSelector:@selector(tableView:viewForHeaderInSection:)]){...}else{...}我尝试在swift中创建以下模拟委托(delegate):classMockTableViewDelegate:NSObject,UITableViewDelegate{@objcfunctableView(tableView:UITableView,heightForHeaderInSectionsection:Int)->CGFloat{return3

swift - 正确处理 session 委托(delegate)

我想确保以正确的方式实现URLSessionTaskDelegate和URLSessionDataDelegate。我使用它们,因为我希望能够跟踪进度。这是到目前为止的代码:finalpublicfileprivate(set)vardata:Data?finalpublicfileprivate(set)varresponse:URLResponse?finalpublicfileprivate(set)varerror:Error?publicfuncurlSession(_session:URLSession,dataTask:URLSessionDataTask,didRece

ios - 从应用程序委托(delegate)调用时未加载调用工具包 ui

我无法触发来自应用程序委托(delegate)的调用套件UI来电。我该怎么做呢?我尝试了扬声器盒示例,但没有帮助。当我在ViewController中运行reportIncomingCall方法时,它起作用了。当我在AppDelegate中运行reportIncomingCall时,它不起作用。我需要它在Appdelegate中运行,以便我可以发送VoIP通知来报告来电。这是我的应用委托(delegate):@UIApplicationMainclassAppDelegate:UIResponder,UIApplicationDelegate,PKPushRegistryDelegat

ios - swift 警告 : Application delegate received call to -application:performFetchWithCompletionHandler: but the completion handler was never called

我在下面的模拟器中调用这个函数来模拟后台获取。然后我在日志中收到这个警告:SwiftWarning:Applicationdelegatereceivedcallto-application:performFetchWithCompletionHandler:butthecompletionhandlerwasnevercalled.我看到其他StackIverflow回答说我只需要添加completionhandler()。我试过了,它说我需要添加一个参数,这就是我迷路的地方。funcapplication(_application:UIApplication,performFetc

swift - 不使用硬件键盘返回调用 UITextField 委托(delegate) textFieldShouldReturn

iOS12、Xcode10.1。我有一个包含UITextField的View。委托(delegate)连接连接到Storyboard中的ViewController。我以前已经做过无数次了。我想在键盘上按下Return时将第一响应者发送到下一个字段,所以正确的做法是这样的:extensionSignInViewController:UITextFieldDelegate{functextFieldShouldReturn(_textField:UITextField)->Bool{switchtextField{caseloginEmailField:loginPasswordFiel

ios - 协议(protocol)要求委托(delegate)继承自 UIViewController

我有一个看起来像这样的协议(protocol)ShareDelegate:protocolShareDelegate:class{funcshare(event:EventJSONModel,skipToTimetime:CMTime?,view:UIView,completion:@escaping()->())}extensionShareDelegatewhereSelf:UIViewController{funcshare(event:EventJSONModel,skipToTimetime:CMTime?=nil,view:UIView,completion:@escapi

ios - delegate 在 urlSession 的操作中变为 nil。如何将委托(delegate)变量保存在单独的线程中?

我正在使用OperationQueue使用URLSession.dataTask将文件一个一个地上传到远程服务器。委托(delegate)用于更新进度条,但在实现OperationQueue后,我的委托(delegate)变为零。它在没有OperationQueues的情况下工作。在程序运行时查看堆栈,我看不到进度条的ViewController。已经好几天了,我还是不太明白。我猜ViewController正在被释放,但我不确定如何防止它被释放。谢谢。我在NetWorkViewController中将委托(delegate)设置为self,但在我的NetworkManager类的ur

ios - 自定义委托(delegate)和数据源 NSObject 最佳实践

考虑这种情况,我有一个UIViewController,它包含一个简单的UICollectionView,但是Delegate&DataSource协议(protocol)是分开的来自UIViewController的NSObject。看起来像这样classMainCollctionViewDelegate:NSObject,UICollectionViewDelegateclassMainCollectionViewDataSrouce:NSObject,UICollectionViewDataSource我在我的UIViewController中像这样使用它们,lazyvarCVD

swift - swift 改变(精炼)委托(delegate)类型

我有一个(swift)类,它有一个指向委托(delegate)的弱指针,如下所示:importUIKit@objcpublicprotocolDRSlidingPanelViewControllerDelegate:class{optionalfuncdidSlidePanel(panelHidden:Bool,sender:DRSlidingPanelViewController)->Void}publicclassDRSlidingPanelViewController:UIViewController{publicweakvardelegate:DRSlidingPanelVie