A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 愿我能 中级黑马   /  2014-4-22 18:30  /  1323 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

弱语法都是什么时候出现?
刚刚看到协议Protocol中两种@required 表示必须实现的方法 但是OC弱语法的特征,即使不实现编译器也可以通过,之前 零基础有专门一节提到过,就是 调用方法时,方法为实现也可以通过,这样弱语法讲的到底是什么?像是语言的口语么? 没有主谓宾强制的要求,比较随便?

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

4 个回复

倒序浏览
根据之前在视频中的介绍,弱语法应该指的是对程序的语法规则要求没有很严格,比如有一些不合理或与标准用法不一致的用法,只是有警告,但也可以通过编译,而不像JAVA中相对语法规则要求非常严格,与语法要求不一致的就直接报错,错就是错,不会给你通过编译,让你在运行中再去检测,造成程序崩溃。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
弱语法就是编译器管的不那么严格,只要语法对就行(包括不是标准语法),而你的逻辑不对也行,也可以通过。强语法就是不符合语法就报错
回复 使用道具 举报
弱语法其实就对对强语法而已的啦。有强有弱嘛,才有对比嘛。如果学过java强语言类型的,就能体会了。在C语言和OC中。char类型,能够和int相加。这种语法已经算是弱语言的。在java中是不能直接相加。编译的时候就会报错。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
NSData *data = [[NSString alloc]init];  能通过编译器 所以就是oc弱语法 ( 即对类型不敏感的)

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马