简体   繁体   English

iPhone SDK @selector - > SEL @protocol - >?

[英]iPhone SDK @selector -> SEL @protocol ->?

okay so I want to make a public function that will return YES if an object exists, conforms to a protocol and responds to a selector. 好吧所以我想创建一个公共函数,如果对象存在,将返回YES,符合协议并响应选择器。 I know the typedef of @selector is SEL but what is the typedef for @protocol 我知道@selector的typedef是SEL但是@protocol的typedef是什么

BOOL conforms(id object, ? prototype, SEL action) {
  return (object != nil && 
         [object conformsToProtocol:prototype] && 
         [object respondsToSelector:action]);
}

And I want to be able to call this function like: 我希望能够像这样调用这个函数:

if(conforms(delegate, @protocol(UIScrollViewDelegate), 
   @selector(touchesBegan:withEvent:))) {
  [delegate touchesBegan:touches withEvent:event];
}

You're looking for the Protocol object: 您正在寻找Protocol对象:

BOOL conforms(id object, Protocol *protocol, SEL action) {
  return (object != nil && 
         [object conformsToProtocol:protocol] && 
         [object respondsToSelector:action]);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM