首页主机objective-c基础教程?在使用了多年C# 的情况下,如何转型到Objective-C语言

objective-c基础教程?在使用了多年C# 的情况下,如何转型到Objective-C语言

编程之家2024-06-10260次浏览

一、Objective-C语法上有什么优点吗

优点嘛,找个最流行的语言做对比吧,就java了

objective-c基础教程?在使用了多年C# 的情况下,如何转型到Objective-C语言
兼容C语言,不用像java一样写JNI的中间代码,这在调用一些C/CPP的库时优势极为明显支持ARC和MRC,自从引入ARC之后,一直在弱化指针的概念,学习难度降低不少,且ARC效率要比GC高;将属性声明和实现分开,看起来更清晰,这个我觉得挺好的,java的话属性和方法一般写在一个文件里,代码多了,看起来很复杂的样子;函数表达很清楚,不知道为什么OC的函数名和参数都很长,苹果官方的demo也是这样,不过看起来意思倒是很容易懂,java和一些早期的c语言喜欢用一些缩写的名字,有时候不知道什么意思;OC协议中定义的方法可以不强制实现,java的interface里定义的方法必须实现,新的java版本貌似已经改了?自带分类,这个我觉得比写一堆继承要好,用好了能省好多代码;支持block语法,java最近貌似也支持了lambda,但是以前要写回调,很烦因为支持C语言的关系,所以也支持宏定义,一些重复的code,你要是懒的话,直接定义成宏,copy过去就完事了支持无符号数,NSUInteger还是很实用的,java这点很不好,如果对端传过来一个无符号数,java必须要用一个更大的数据类型去包裹,否则显示的是负数更易用的线程模型,单说NSOperation和java的Thread类哪个更好说不清楚,但是直接写的话,GCD要比new完之后还要start的Thread要好用的多;更易用的数据结构,这个不跟java比了,因为都好用,但是比C++的vector好用多了绘图和音视频处理时更方便,java的awt和swing就是屎,处理多媒体基本不用java,OC调quartzcore和AVFoundation简直不要太爽更易用的扩展库,苹果在做OSX的时候就已经写好了很多第三方库,后来直接移植到iOS上,java素来以库多而著称,但是库的质量参差不齐,相比之下还是苹果官方的库更有保证

别的一时半会想不起来就不写了,无意歧视java,下次你问OC语法上有什么缺点,我就把java的优点讲出来,毕竟两者都是我喜欢的语言,??

二、在使用了多年C# 的情况下,如何转型到Objective-C语言

精品游戏攻略,精品游戏讲解,欢迎关注游玩大咖!

是的,我做unity开发也有同样的感受,有次要做一个C#和OC的交互功能,不得已去学习了OC的语言,看到这个语法感觉简直就是反人类啊,零零碎碎很难阅读。

至于如何去发现OC之美,那么你也就只能把OC当做你女朋友了,对待你女朋友你就要去想方设法了解ta,满足ta。至于OC为什么不爱你,那没办法程序狗还有挑选的余地吗,有的用总比没得好,还能咋样?除非一掀桌子,劳资不干了,直接删库跑路23333~

手打不容易,如果喜欢我的解答的话,请在下方点一个赞哦!

三、objective-c为什么还有人在用

Objective-C仍然被一些开发者使用的原因如下:1.历史原因:Objective-C是苹果公司在1990年代开发的主要编程语言,成为了iOS和Mac开发的标准语言。许多早期的iOS和Mac应用程序是用Objective-C编写的,这些应用程序仍然在运行,并需要维护和更新。2.生态系统:Objective-C拥有庞大而成熟的生态系统,包括许多第三方库、框架和工具。这些资源满足了开发者的需求,并提供了高效的开发方式。3.成熟和稳定:Objective-C经过多年的发展和演进,已经被广泛验证和测试,具有较高的稳定性和可用性。一些开发者认为它比Swift更成熟和可靠。4.迁移成本:迁移到另一种编程语言通常需要大量的时间和资源。对于一些项目来说,使用Objective-C可能比切换到其他语言更具成本效益。5.技能和经验:一些开发者已经投入了大量的时间和精力学习和掌握Objective-C,他们更愿意继续使用这门语言而不是学习新的语言。值得注意的是,随着Swift的发展和推广,越来越多的开发者已经转向Swift,并在新的项目中使用它。加上苹果公司已经在推动Swift的使用,未来Objective-C的使用可能会逐渐减少。

objective-c基础教程?在使用了多年C# 的情况下,如何转型到Objective-C语言
objective-c基础教程?在使用了多年C# 的情况下,如何转型到Objective-C语言
应用程序无法正常启动(0x0000142)(应用程序无法正常启动0x0000142是什么原因导致的)smtp是什么意思?pop3和imap什么意思