zoukankan      html  css  js  c++  java
  • respondsToSelector判断是否实现了某方法

    Tester.h

    #import <Foundation/Foundation.h>


    @interface Tester : NSObject {

    }

    -(void) test:(NSString*) msg;

    -(void) notImp;

    @end

    Tester.m
    #import "Tester.h"

    @implementation Tester

    -(void) test:(NSString*) msg
    {
    NSLog(
    @"%@", msg);
    }

    @end
    注意:没有实现notImp方法

    main.m

    #import <Foundation/Foundation.h>
    #import
    "Tester.h"

    int main (int argc, const char * argv[])
    {

    NSAutoreleasePool
    * pool = [[NSAutoreleasePool alloc] init];

    id tester
    = [[Tester alloc] init];//注意,这里使用id

    SEL testSelector
    = @selector(test:);
    SEL notImpSelector
    = @selector(notImp:);

    if([tester respondsToSelector:testSelector])
    {
    //tester.m中实现了test方法
    [tester test:@"invoke test method"];
    }
    if([tester respondsToSelector:notImpSelector])
    {
    //test.m中没有实现此主就去
    [tester notImp];
    }


    [pool drain];
    return 0;
    }

  • 相关阅读:
    1.saltstack入门
    构造函数
    gitlab
    mysql常见的问题
    python数据运算
    BZOJ 1691 usaco2007 挑剔的美食家
    BZOJ 1708 usaco2007 Money奶牛的硬币
    BZOJ 1050 HAOI2006 旅行comf
    BZOJ 2427 HAOI2010 软件安装
    BZOJ 1901 Dynamic Rankings
  • 原文地址:https://www.cnblogs.com/chenjunbiao/p/2023196.html
Copyright © 2011-2022 走看看