草庐IT

selector-drawable

全部标签

ios - Swift:使用协议(protocol)扩展导致 "unrecognized selector sent to instance"

我正在尝试向所有符合MyProtocol协议(protocol)的UIViewController添加点击功能。下面是我的做法:importUIKitprotocolMyProtocol:class{varfoo:String?{getset}funcbar()}extensionMyProtocolwhereSelf:UIViewController{funcbar(){print(foo)}}classTestViewController:UIViewController,MyProtocol{varfoo:String?overridefuncviewDidLoad(){supe

IOS - Facebook 登录按钮 : Unrecognized selector error

我是iOS和Swift的新手,所以请原谅我对这个问题的无知。我正在尝试将Facebook登录按钮添加到我的Main.storyboard。我添加了一个View对象并将View的类设置为FBSDKLoginButton。但是,当我在模拟器中运行该项目时,它因无法识别的选择器错误而崩溃。据此,https://developers.facebook.com/docs/ios/troubleshooting#unrecognizedselector,我需要在我的应用程序委托(delegate)中添加[FBSDKLoginButtonclass];或添加-ObjC链接器标志。问题是,Swift中

ios - 符合 Codable 协议(protocol)的类因 encodeWithCoder : unrecognized selector sent to instance 而失败

我知道有几个与此类似的问题,它们往往都围绕着未正确遵守协议(protocol)的类展开,但这不应该是这里的直接问题。以下是目前给我这个问题的代码的浓缩版:enumBinary:Int{casea=0caseb=1casec=9}finalclassMyClass:NSCoder{varstring:String?vardate:Date?varbinary:Binary=.coverrideinit(){}enumCodingKeys:CodingKey{casestring,date,binary}}extensionMyClass:Codable{convenienceinit(f

Swift #selector 问题

我是Swift的新手,我正在使用视频类(class)。但是在当前类(class)中我遇到了一个问题,我无法自己解决。问题在于NSNotificationCenter中新的#selector语法,我使用旧语法但它不起作用。importUIKitclassViewController:UIViewController,UITableViewDelegate,UITableViewDataSource{@IBOutletweakvartableView:UITableView!overridefuncviewDidLoad(){super.viewDidLoad()tableView.del

swift - 无法将 Swift 4 字符串传递给 Obj-C++ -[_SwiftValue dataUsingEncoding :]: unrecognized selector sent to instance

我有一些像这样的Objective-C++代码://header@interfaceMyObjcClass-(void)myMethod:(NSString*)text;@end//implementation@implementationMyObjcClass-(void)myMethod:(NSString*)text{someInternalObject->useWstring(nsStringToWstring(text))}std::wstringnsStringToWstring(constNSString*text){NSData*data=[textdataUsingE

iOS - [CLPlacemark 时区] : unrecognized selector iOS 8

我正在使用此方法从lat/long获取timeZone。-(void)getTimeZoneFromLatLong{CLLocation*location=[[CLLocationalloc]initWithLatitude:self.parentVC.currentCity.latitude.doubleValuelongitude:self.parentVC.currentCity.longitude.doubleValue];CLGeocoder*geoCoder=[[CLGeocoderalloc]init];[geoCoderreverseGeocodeLocation:lo

java - 创建一个新的颜色drawable

我正在尝试将十六进制值转换为int,以便创建新的可绘制颜色。我不确定这是否可能,但根据documentation,它应该。它明确要求publicColorDrawable(intcolor)AddedinAPIlevel1CreatesanewColorDrawablewiththespecifiedcolor.ParameterscolorThecolortodraw.所以,我的代码无法正常工作,因为我收到Invalidint:"FF6666"错误。有什么想法吗?intdecode=Integer.decode("FF6666");ColorDrawablecolorDrawable

java - 创建一个新的颜色drawable

我正在尝试将十六进制值转换为int,以便创建新的可绘制颜色。我不确定这是否可能,但根据documentation,它应该。它明确要求publicColorDrawable(intcolor)AddedinAPIlevel1CreatesanewColorDrawablewiththespecifiedcolor.ParameterscolorThecolortodraw.所以,我的代码无法正常工作,因为我收到Invalidint:"FF6666"错误。有什么想法吗?intdecode=Integer.decode("FF6666");ColorDrawablecolorDrawable

ios - 你如何使用 perform(#selector(setter :)) to set the value of a property using swift 4?

我正在尝试运行这段代码,但它产生了意想不到的结果。classTest:NSObject{@objcvarproperty:Int=0}vart=Test()t.perform(#selector(setter:Test.property),with:100)print(t.property)正在打印的值是一些垃圾号码-5764607523034233277。如何使用perform方法设置属性的值? 最佳答案 performSelector:withObject:方法需要一个对象参数,因此Swift将基本类型100转换为对象引用。se

ios - 如何使用 Selector 和 NotificationCenter 调用可选函数

语言:Swift3IDE:XCode8.3.2(8E2002)我有一个带有可选函数的协议(protocol)foo@objcprotocolSomeProtocol{@objcoptionalfuncfoo(_notification:Notification)}extensionSomeProtocol{funclistenToFoo(){NotificationCenter.default.addObserver(self,selector:#selector(self.foo(_:)),name:NSNotification.Name(rawValue:"UltimateNoti