•  广告位
  •  
  •  最新新闻列表
  •  
  •  图片新闻
  •  
 > 社会热点 >

Objective-C语法上有任何的优点吗?

文章发布时间:2015/7/4 15:55:19



茅于轼报告的真相及谬误对古印度VIMANA航天器和纳粹UFO动力系统的研究15个改变,成就更好的你高速摄影欣赏:迷人的液体艺术“诚信”需你我践行

鏁欎綘濡備綍鍦ㄥ箍宸炴嬁璐?鏃ュ父鍑鸿鐪侀挶鐪佸姏鏀荤暐四种气质让女人美到骨子里(图文)BobParsons告诉你成功不可缺的16原则青春肉展820让我住进你心里【情感美文】警惕你身边的情感吸血鬼冬季养生秘诀陈明仁起义部队叛逃风波刘小晴《前后出师表》下2011年利比亚骚乱19例创意小空间存储解决方案祖传秘方:蛀牙一剂见效两剂断根陈辛汤联通十兆的网络,理论速度是1.25MB/s,但实际平均速度只有300KB/s,我该怎样维护我的权益?名词语法四柱八字和紫微斗数之比较人品是做人的关键(为人处世)自考怎么参加?现在快大三了,理工科,现在连积分都不会还有救么?英国女画家ElizabethKeith笔下的旧中国(35图)人均办公超600平米谁能养活这样的官员腾讯入股京东消息提前泄露是否涉嫌内幕交易?U大师U盘装系统——安装ghost系统教程(v2.0)最容易混淆的英语单词超押韵的搞笑段子,不信你不笑精美播放器:《爱情还在。。。。。。》【图片素材】现在这个时代靠业余时间还能在数学上做出成就吗?美国加拿大留学费用对比(作者:kylelong)【图】补气鹌鹑汤的做法软件成功的关键是啥:模型,技术,语言,开发手段?美食推荐:红烧牛肋排-秘制糟肉-麻酱拌猪肚子漂亮闪图-88(2)虚实与关合孔庆东:儒家文化的当代价值关于读书的麻辣思考新华电脑学院有没有好坏之分,有的话全国哪所更好?常在外就餐的十四个健康点菜的技巧2015中考语文备考:经典美文阅读及答案(六十四)外网~十字绣(438)在野外,无打火机和火柴该怎样取火?盘点命途多舛的苏联领袖像(附图)

玩wordament这种拼字游戏有什么技巧吗?内涵图不解释,看懂了吗高考力学解题利器之二盘点命途多舛的苏联领袖像(附图)

相关问题:


本人没有实际用过 Objective-C,只是读过一些教程。但是作为一个实际工作中学习使用过 JS、Java、C++、ActionScript、Ruby 等语言的人看来,Objective-C 不止是丑陋,简直是无法忍受的丑陋。它真的有任何的优点吗?

网友回答:


Objective-C语法上有任何的优点吗?

objc 是 C 的扩展。objc 的语法有个特点,就是扩展部分,跟 C 原有的部分,可以很明显的区分开来。

objc 的扩展关键字,全部使用 @ 符号开头。如 @interface, @property。

[obj dosomthingArg0:arg0 arg1:arg1];


答友:把我在别的答案的评论里的答案贴过来
有一个我很喜欢的是方法调用的时候,带上参数名称的这个特点。
比如 [obj callMethodWithArg1: arg1 arg2: arg2] 这样的方式。
刚接触 objc 的时候觉得怎么这么蛋疼,不过写了一阵子之后觉得这个特性真的太爽了。

举一个稍微复杂点的例子,你们感受一下。cocoa 里面搞 auto layout:
[NSLayoutConstraint constraintWithItem:self.view attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:vc.view attribute:NSLayoutAttributeBottom multiplier:1 constant:0]
如果是 C++ 的话,很可能是这样:
NS::LayoutConstraint(this->view, NS::LayoutAttribute::Bottom, NS::LayoutAttribute::Equal, vc->view, NS::LayoutAttribute::Bottom, 1, 0)

你说你看到上面的代码的时候,哪一个可读性更好一些?this->view 和 vc->view,分别是什么意思?最后面的 1 和 0,又分别是什么意思?而 objc 里面,每个参数是什么就很明了了。当然,如果没用 IDE 的话确实会敲得很痛苦。

哦对了,如果在 IDE 里面的话,代码是可以格式化得很好看的

[NSLayoutConstraint constraintWithItem:self.view                             attribute:NSLayoutAttributeBottom                             relatedBy:NSLayoutRelationEqual                                toItem:vc.view                             attribute:NSLayoutAttributeBottom                            multiplier:1                              constant:0]


答友:调用方法:

[aBoy playWith:you and:aGirl in:aBoy.house];


答友:没有


答友:firlst,作为一个只接触过java、oc和很少的脚本语言的programer,个人的看法可能不具有参考性
最大的感受是可读性更好
比如方法命名要求有描述性
这个优点是对阅读代码来说流畅更多,对naming水平一般的程序员(这很可能是80%的程序员)来说是福音。
其实对一些top级别的,影响不到,看到好多人直接用c的格式来写很多内容了。

然后是现在多线程也比较方便。

其他的,诸如 array、nsnumber这些语法糖什么的,只是逐渐赶上了一些脚本语言的节奏。


答友:语法很别扭。
Swift (programming language)
"Swift is, in large part, a reimagining of the Objective-C language using modern concepts and syntax."
这样就是说 Objective-C 没有 modern concepts and syntax 呗。

三大移动平台各有不爽。


革命中的人如果不理解,革命以后后人享受了成果却不愿去了解。那革命有何用?

革命中的人如果不理解,革命以后后人享受了成果却不愿去了解。那革命有何用?



不存在相应的目录