OC中的消息机制

用这个命令clang -rewrite-objc main.m,将.m文件转换成.cpp文件,注意要先将目录定位到main.m所在的目录

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

{

    @autoreleasepool {

  //例如创建一个NSString对象,其内部是发送了2个消息,对alloc发送一个消息,对[[NSString alloc]发送一个消息

        [[NSString alloc] init];

    }

    return 0;

}

 

// 转换之后的.cpp文件

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

{

    @autoreleasepool {

  // 将多余的修饰删掉,例如void*,就可以得到如下所示的内容

    // 对alloc发送一个消息

        id value = objc_msgSend(objc_getClass("NSString"), sel_registerName("alloc"));

   // 对[[NSString alloc]发送一个消息

        objc_msgSend(value, sel_registerName("init"));

    }

    return 0;

}

 

 

 

 

 

 

posted @ 2013-11-25 17:33  yyh123  阅读(457)  评论(0编辑  收藏  举报