jjzjj

NSMethodSignature

全部标签

ios - 协议(protocol)的 NSMethodSignature

我正在使用此方法将方法分派(dispatch)给委托(delegate),不幸的是,我发现大多数时候NSMethodSignature为nil,这是因为选择器来自协议(protocol)。我想知道哪种方法是正确的:询问方法是否来自协议(protocol)获取协议(protocol)方法的签名[编辑]根据newacct用户的观察,我的问题是不正确的,签名为nil是正常的,但不是因为它是一个协议(protocol),而是因为我针对错误的对象询问方法签名。Self在这种情况下它没有实现我想要分派(dispatch)的方法,它是使用和实现它们的委托(delegate)。代码如下:-(BOOL)

ios - NSMethodSignature 的 BOOL 编码错误

我在使用[NSMethodSignaturegetArgumentTypeAtIndex]函数时遇到了非常奇怪的行为。它返回BOOL类型的“@”字符,根据objective-ctypeencodings错误.如果我使用objc\runtime.h库方法method_getTypeEncodingBOOL类型正确表示为“B”,但我不明白为什么它不能与更高级别的NSMethodSignature一起使用。以下代码演示了该问题:-(void)viewDidAppear:(BOOL)animated{[superviewDidAppear:animated];NSInvocation*inv=