草庐IT

L_OBJC_SELECTOR_REFERENCES

全部标签

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

ios - StringWithFormat "%.2ld"objc 到 swift

我在一个swift项目中有一个“pickerView”对象。我理解Objective-c中的代码,但我不确定如何在Swift中实现它。Objc方法-(NSInteger)pickerView:(UIPickerView*)pickerViewnumberOfRowsInComponent:(NSInteger)component{switch(component){case0://Weekreturn7;case1://Hourreturn24;default://Minutesreturn60;//or7;(10by10)//or13;(5by5)}}我只是不确定如何为titleFo

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 - 错误 : Execution was interrupted, 原因:内部 ObjC 异常断点 (-5)

我正在尝试显示带有自定义UICollectionViewCell的UICollectionView,应用程序崩溃并且出现以下错误:2018-07-2109:14:10.498749+0300Shippers[18104:819840]***Assertionfailurein-[NSISEngine_optimizeWithoutRebuilding],/BuildRoot/Library/Caches/com.apple.xbs/Sources/Foundation_Sim/Foundation-1452.23/Foundation/Layout.subproj/Incrementa

swift - @objc'只能应用于类的扩展,从swift调用扩展方法到objective c

我正在创建类似的字符串扩展@objcextensionString{staticfuncclassName(_aClass:AnyClass)->String{returnNSStringFromClass(aClass).components(separatedBy:".").last!}funclocalize()->String{returnNSLocalizedString(self,comment:"")}}我正在像swift一样快速使用它btnReferencePhoto.setTitle("ADDREFERENCEPHOTO".localize(),for:.normal

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

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

objective-c - 如何从 lldb 中的 objc 访问快速便利变量?

我正在尝试在swift上下文中设置一些方便的变量并从ObjC上下文访问它。​​(lldb)expression-lswift--var$answerSwift=42(lldb)expression-o-lswift--$answerSwift42(lldb)expression-o-lobjc--$answerSwifterror:useofundeclaredidentifier'$answerSwift'反之亦然:(lldb)expression-lobjc--int$answerObjc=42(lldb)expression-o-lswift--$answerObjc42如何将值