草庐IT

bucket_selector

全部标签

swift - selector为静态方法时如何设置NotificationCenter的观察者

funcaddObserver(_observer:Any,selectoraSelector:Selector,nameaName:NSNotification.Name?,objectanObject:Any?)此函数需要观察者是某个对象,但同时将静态方法设置为选择器。Thisanswerexplainshowtosetselectorandobserverwhentheselectorisaninstancemethod. 最佳答案 我们需要设置YourClass.self为观察者。这样——NotificationCenter

Swift 将字符串转换为函数名 (#selector)

我创建了一个接收字符串的函数。该字符串必须转换为函数名称,然后作为#selector参数传递。我试过了,但没用:funcsetFunctionWithTap(functionName:String){lettap=UITapGestureRecognizer(target:self,action:#selector(functionName))...}你能告诉我这是否可能吗? 最佳答案 使用选择器initializerthatacceptsastring相反:lettap=UITapGestureRecognizer(target:

ios - UISwipeGesture 'unrecognized selector sent to instance'

如果有人能帮我解决这个问题,那就太好了!我花了几个小时试图修复,但没有成功错误...2016-06-2320:30:43.341057ScalingRings[408:38903][DYMTLInitPlatform]platforminitializationsuccessful2016-06-2320:30:43.750822ScalingRings[408:38776]MetalGPUFrameCaptureEnabled2016-06-2320:30:43.751531ScalingRings[408:38776]MetalAPIValidationEnabled2016-06

macos - [NSSearchField 对象] : unrecognized selector sent to instance

我正在一个简单的Mac应用程序中测试Swift。我在Storyboard中得到了一个NSToolbar并在里面画了一个NSSearchfield。NSSearchfiled连接到第一响应者的方法controlTextDidChange(第一响应者是我添加了NSTextFieldDelegate的ViewController)。这是方法:@IBActionoverridefunccontrolTextDidChange(obj:NSNotification!){println("searching...")println(obj.object.stringValue)}每次搜索新角色时都

ios - 如何在运行时通过 Selector 在 Swift 中调用泛型函数?

我正在尝试像这样在运行时为UI事件注册回调。funcobserveEvent(event:UIControlEvent){self.addTarget(self,action:"eventFired:",forControlEvents:event)}funceventFired(sender:T){print("eventfired!")}它崩溃并说它在运行时找不到eventFired:。你能帮忙解决这个问题吗? 最佳答案 您不能使用通用函数作为选择器字符串文字的目标。为什么?选择器不包含有关其目标参数类型的信息,仅包含:选择器目

ios - 为什么我的#selector 不工作?

我有一个函数:@objcfunchandleLongPress(data:SkelbimasModel,_gestureRecognizer:UIGestureRecognizer){ifgestureRecognizer.state!=.began{return}lettouchPoint:CGPoint=gestureRecognizer.location(in:self.Map)lettouchMapCoordinate:CLLocationCoordinate2D=self.Map.convert(touchPoint,toCoordinateFrom:self.Map)let

ios - 如何使用#selector 函数传递变量?以及将什么传递给 textField : UITextField?

所以我有一个带有2个文本字段的UIAlertController,然后我想在编辑这些文本字段时进行监视,以查看它们是否满足特定条件。在这种情况下,只要两个文本字段输入都短于我要传递给函数的数字,我希望我的警报按钮处于非事件状态。所以我将这个目标添加到两个文本字段:textField.addTarget(self,action:#selector(self.handleTextFieldEdit),for:.editingChanged)在handleTextFieldEdit里面我有这个:funchandleTextFieldEdit(_textField:UITextField,nu

ios - 另一个 "unrecognized selector sent to instance"

Edit3:Forotherpeoplegettingthiserror,thisiswhathappenedhere.IoriginallycreatedtheIBActionfortheslideras"numberOfSounds".Ithencreatedaclasspropertycalled"numberOfSounds"andrenamedtheIBActionto"sliderValueChanged".Iexpectedtheconnectiontoautomaticallyupdatetheconnection,BUTITDOESN'T.So,sinceIdumbl

ios - 为什么我的 segue 导致 "unrecognized selector sent to instance"NSInvalidArgumentException?

尝试使用segue从我的第一个ViewController移动到我的第二个ViewController(都使用相同的Storyboard)。我的第一个ViewController有两个按钮,一个表示“男性”,一个表示“女性”(我知道,不是每个人都与这两个中的一个相关联),我希望其中一个按钮在单击后移动到第二个ViewController。我将按钮拖/放到我的代码中以获得以下内容:@IBActionfuncfemaleButton(_sender:AnyObject){Globals.onboardingList.append("girl")print("it'sagirl!")perf

swift - 为什么在 Swift 中通过 Selector 调用时不考虑函数的默认参数?

通过选择器调用的方法不遵循默认参数值。示例如果我连接了一个按钮来通过选择器调用函数:funcsetupButton(){self.button.addTarget(self,action:#selector(printValue),for:.touchUpInside)}@objcfuncprintValue(value:Int=7){ifvalue==7{print("receiveddefault")}else{print("defaultunused")}}当通过代码调用此方法时"receiveddefault"被打印出来,但是当我按下按钮并通过选择器调用方法时"defaultu