您当前的位置: 首页 >  objective-c

清风清晨

暂无认证

  • 1浏览

    0关注

    71博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【动态类型检测 Objective-C】

清风清晨 发布时间:2022-08-04 23:13:33 ,浏览量:1

前言

1 ) Objective-C中的编译器叫什么名字,LLVM,它可以编译C语言,Objective-C语言,Swift语言,C++语言。 2)编译器在编译的时候,判断1个指针是否可以调用指向的对象的方法,它的判断准则,就是那个指针类型, 所以,这个时候,我们可以很轻松的把编译器给骗过: NSString *str = @“jack”; [str sayHi]; 好,我们说,这时候编译器会报错吧!我们想把编译器骗过,怎么骗过,是不是把它强转成Person *类型啊? [(Person *)str sayHi]; 这时候,编译器就不会报错了。 3)就算骗过了编译器,它还会再做运行检查。 所以,我们写的程序,就算编译通过了,不意味着可以完美的执行! 4)所以,能不能在执行sayHi();方法之前,我自己先判断一下,这个str指针指向的对象里面,到底有没有sayHi();方法 如何写代码,来先判断一下,对象当中是否有这个方法,如果有,再去执行,如果没有,就别去执行了。这样就可以避免,由于没有方法,而报错吧!

一、怎么判断有没有这个方法呢?

1)判断指针指向的对象中,是否有这个方法可以执行。 语法: Person *p1 = [Person new];

关注
打赏
1663943137
查看更多评论
立即登录/注册

微信扫码登录

0.0372s