Objective-C是一门简洁、强大

Objective-C是一门简洁、强大、灵活的既具有面向对象特性也具有函数式编程特性的编程语言。由于它是C语言的马甲,也就是说,Objective-C可以将其源代码先转为纯C语言然后再编译为最终的目标代码,所以我们也可以用它来写纯C语言代码,它与C是完全兼容的!(这点与C++在语法特性上跟C语言兼容的特性不同)

由于有不少Objective-C爱好者对于ARC模式下的Objective-C感到十分困惑,所以希望能深入了解一下传统非ARC模式下的编程法则。通过对非ARC模式Objective-C工作模式的认知,我们甚至可以对整个Cocoa Framework的运行核心做更深层的认知。为何我不推荐使用ARC模式呢?

你用了ARC就得去记__strong、__weak、__unsafe_unretained、__autoreleasing、__bridge等等杂七杂八的关键字~这些乱七八糟的概念本身会把你搞晕,而且当你半懂不懂的时候一旦乱用反而会产生各种奇怪的bug~这些玩意儿倘若充斥在你的代码中,一来很丑,二来对于一些新手很容易被弄晕……所以说,ARC这货自其出生就带来了许多灾难!

而反观传统的非ARC模式,property就一个assign,一个retain,NSObject里就调用retain/release和autorelease方法~而且Apple对此的规则也非常简单——“不是你创建的就不需要你释放;是你创建的你才去释放它。”这一句话就能解决所有问题~

除此之外,无论你用ARC还是非ARC,你都需要搞懂Apple Cocoa Framework的消息循环机制,即autorelease是如何工作的。否则你的assign或weak属性的Objective-C对象啥时候被释放也都不会知晓~

综上所述,如果为了编程方便、可维护、可扩展,我们完全可以把ARC编译选项给关掉!另外,在Objective-C中往往把“方法调用”阐述为“消息发送”。比如[obj msg]一般大家描述为obj对象调用其msg成员方法。而正式用语上应该描述为向obj对象发送msg消息。在哪个对象的方法里执行这条语句的,那么称该对象为消息发送者;msg称为消息(即方法);obj则称为消息接收者。讲了那么多,下面开始切入正题!

在基于Foundation/Cocoa Framework的Objective-C中,我们定义一个类往往需要继承NSObject这一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值