草庐IT

some_selector_here

全部标签

ios - "unrecognized selector sent to instance" swift

我没有收到任何错误或任何错误,但是当我运行该应用程序时它崩溃了。我得到的日志是“由于未捕获的异常‘NSInvalidArgumentException’而终止应用程序,原因:‘-[MPConcreteMediaItemimageWithSize:]:无法识别的选择器发送到实例0x14eefa3b0’”。我认为导致这个问题的是这一行:cell?.imageView?.image=sortedResults[indexPath.row].imageWithSize(imageSize)因为当我删除它/取消注释时,一切正常。imageSize是一个CGSize变量。整个代码:letstart

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)}每次搜索新角色时都

swift 协议(protocol) : hiding some properties

我想为UITextView和UITextField创建一个trimmedText属性。这是我所做的:protocolTrimmedTextSupporting:class{var_text:String?{get}vartrimmedText:String{get}}extensionTrimmedTextSupporting{vartrimmedText:String{lettext=self._text??""returntext.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacter

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

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

swift - Xcode 10.2 将多个目标转换为 Swift 5 : Tries to compile some classes that are not part of target

我有一个包含多个目标的iOSSwift项目。将第一个目标转换为Swift5很容易。将第二个目标转换为Swift5,Xcode10.2尝试编译显然仅存在于第一个目标中的文件并失败(因为它没有编译第一个目标的所有文件并提示未解析的标识符)。我该怎么做才能让Xcode仅编译那些在转换为Swift5时属于目标的文件?如何将我的项目转换为Swift5?清理Build文件夹并重新启动Xcode10.2没有帮助。 最佳答案 我刚刚经历了这个过程,并且能够从迁移指南最后一句话的提示中找出一个相当简单的解决方案https://swift.org/mi

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