草庐IT

RespondsToSelector

全部标签

objective-c - 使用 respondsToSelector 的性能损失

我将重构大量旧代码,使客户端对错误的服务器响应更加健壮,并在JSON响应具有无效值时记录异常,并且我正在考虑检查每个正在解析的节点的有效性(数据类型)使用respondsToSelector。我正在检查响应中的数据类型(int、bool等)[[jsonobjectForKey:@"feature_enabled"]boolValue],如果@"feature_enabled"节点的值不是0或1,这会使应用程序崩溃为了解决这个问题,我会这样做if([[jsonobjectForKey:@"feature_enabled"]respondsToSelector:@selector(bool

objective-c - 发送到释放实例的消息,,, [__NSArrayI respondsToSelector :]

我有一个带有NSArrayobjectuserIDs的实现文件NSArray*userIDs;NSIntegerfriendID;@implementationTableViewController-(void)reciveFriendsIDs:(NSArray*)array{userIDs=[NSArrayarrayWithArray:array];}-(NSString*)getFriendId{return[userIDsobjectAtIndex:friendID];}...@end和方法-(NSString*)getFriendId从另一个类调用它,如下所示:TableVie

ios - respondsToSelector 检查后出现 doesNotRecognizeSelector 错误

简短描述:当调用肯定有此方法的对象上的方法时,我得到doesNotRecognizeSelector错误,它发生在调用respondsToSelector之后。这是一个非常奇怪的情况,我不明白这是怎么回事:)。我在一些用户设备的日志中看到了这个错误,但不是在所有用户设备上。我无法在自己的设备上重复此操作。我试图弄清楚它是如何发生的,并使用respondsToSelector添加了条件,但问题再次发生。下面是一些代码。希望对你有帮助1)我在AppDelegate中有一个viewController对象。@interfaceAppDelegate:NSObject{}@property(n

c# - 如何在 Monotouch 中使用 iOS RespondsToSelector?

我试图了解在Monotouch中使用ResponsdsToSelector的模式。例如,以下翻译不起作用。(LayoutMargins用于在iOS8中设置单元格缩进)objective-c:if([tableViewrespondsToSelector:@selector(setLayoutMargins:)]){[tableViewsetLayoutMargins:UIEdgeInsetsZero];}单点触控if(this.TableView.RespondsToSelector(newSelector("setLayoutMargins")))this.TableView.Lay

objective-c - 为什么在这种情况下 respondsToSelector 对我不起作用?

我遇到了一个小难题,这让我很困惑。在我正在编写的应用程序中,我大量使用委托(delegate)作为一种模式。通过在每次委托(delegate)调用时使用“[delegaterespondsToSelector]”测试委托(delegate),我试图在调用委托(delegate)的代码中尽可能“小心”。除非我在UIView子类中,否则一切正常。在那种情况下,respondsToSelector返回NO但我可以安全地调用委托(delegate)代码,因为它显然存在并且可以正常工作。我已将其归结为最简单的示例。如果您能提供任何帮助,我们将不胜感激:在我的UIView子类的.h文件中:#imp

快速替代 respondsToSelector :

我试图实现swift的替代respondsToSelector:语法,该语法也显示在主题演讲中。我有以下内容:protocolCustomItemTableViewCellDelegate{funcchangeCount(sender:UITableViewCell,change:Int)}然后在我调用的代码中classCustomItemTableViewCell:UITableViewCell{vardelegate:CustomItemTableViewCellDelegate...overridefunctouchesEnded(touches:NSSet!,withEvent

ios - 为什么delegate.respondsToSelector(Selector ("testEnum:"))这段代码用swift语言会返回false?

我前几天是从Objective-C开始写Swift语言的,在项目中我遇到了一个问题。这个问题是在使用respondsToSelector("testEnum:")函数检查是否实现了testEnum的功能时:,如果param是这样,会返回false,我试过其他类型,都会返回true,不知道是什么原因,看下面的代码,帮我解决一下,非常感谢!enumTestEnum{caseAcaseBcaseC}protocolTestAProtocol:NSObjectProtocol{functestEnum(testEnum:TestEnum);functestInt(testInt:Int);}c

Swift 2,协议(protocol)扩展和 respondsToSelector

我不确定,在我看来这是某种错误或Swift2.0中协议(protocol)扩展的错误实现。我有protocolA、protocolB扩展protocolA并在protocolB扩展中实现方法。我已经使一个类实例符合protocolB,但是当respondsToSelector检查protocolA/B方法时,结果为false。importCocoaimportXCPlaygroundprotocolProtocolA:NSObjectProtocol{funcfunctionA()}protocolProtocolB:ProtocolA{funcfunctionB()}extensio

ios - 我什么时候应该使用 conformsToProtocol 和 respondsToSelector 方法?

conformsToProtocol和respondsToSelector方法有什么用? 最佳答案 conformsToProtocol方法让您检查您的对象是否实现了特定的协议(protocol)。它并没有告诉你它包含了这个协议(protocol)定义的方法(有些方法可以是可选的)。respondsToSelector检查你的对象是否有一个特定的方法(该方法不需要在任何协议(protocol)中定义)它可以是类中定义的方法。 关于ios-我什么时候应该使用conformsToProtoc

iphone - 动态检查类是否通过 respondsToSelector : 响应选择器

如果类响应选择器,我正在寻找以动态方式检查的可能性。例如,我在类中有一个严格的方法名称模式,如“parse[CountryCode]Adress”。我尝试过这样的事情:SELselector=NSSelectorFromString([NSStringstringWithFormat:@"parse%@Address",@"DE"]);if([CountryTraderDataParserrespondsToSelector:@selector(selector)]){NSLog(@"respondsto");[CountryTraderDataParserselector];}但这行