【Object C】从Java 一步步走向Object C

好久没有登上CSDN写文章,之前写的文章令自己很感动,没想到好多文章都已经有6k次左右的访问量。为了鞭笞自己,贴上悬梁刺股:

       悬梁:
  东汉·班固《汉书》:“孙敬字文宝,好学,晨夕不休。及至眠睡疲寝,以绳系头,悬屋梁。后为当世大儒。”
  刺股:
  西汉·刘向《战国策·秦策一》:“(苏秦)读书欲睡,引锥自刺其股,血流至足。”


最近在从Java 转到 Object C的开发,关于iOS、Object C 、Xcode 的文章可谓Google一下满地飞,这篇文章就只记录我在痛苦中的学习轨迹,不做重复的轮子,也算Pythonic 吧。


Topic: Object C 语法跟 Java C++ 的差异:

http://blog.csdn.net/totogo2010/article/details/7632384

重点:

看看语法,找点感觉,从Java,C++走过来的人看了肯定要骂娘了,什么鸟语言,不过看懂了之后那鸟语言还是蛮优美的,顺便提醒几个细节。

1. Xcode 有自动提示代码的功能,挺形象的,活泼乱跳的。

2. 大姨妈括号一对一对好难输入,这个问题在Xcode 快捷输入的方法就是直接输入右大括号,左大姨妈括号就自动屁颠屁颠出来了

3. Xcode 我写文章的时候还是没有 Eclipse 那个自动生成 unimplemented method 的东西,如果你想找就洗洗睡放弃吧

4. 在Xcode里面想简历个hello world功能,很简单,创建工程选到Mac -> Console Application, 有个可以选择foundation 的锤子东西,选他没错,选了就能创建一个可以码Hello World 了。 啊? 不用码,对的,Xcode免得你码了Hello World就以为很牛逼,直接帮你生成Hello world Demo了,你没机会了,那么 菊花键 + B, 菊花键 + R 运行一下吧。(补充个网址讲讲Xcode:猛点我吧)


Topic: KVO 

http://blog.csdn.net/totogo2010/article/details/7779402

重点:

1、 KVO 只有 直接更改instance 键值的时候才会触发observer observeValueForKeyPath方法

2、observer方法内必须持有一个instance,并且是往observerinstance把自己注册进去


Topic : GCD

http://news.weiphone.com/news/apple/blog/2009-10-15/GCD_3Alaizicaozuoxitongdicengdejianjieyuyouya_207195.shtml


Topic: ARC

http://www.onevcat.com/2012/06/arc-hand-by-hand/

重点:

1. ARC 活跃在编译的时候,这个点跟Java 的垃圾回收不一样,因此应该YY起来是快那么一点的。

2. ARC 不代表你不用关注Object C的内存机制,因为我将要罗列几个点告诉你ARC 使用的局限性以及约束:

a.不可以使用retain,retainCount,release,autorelease 用@select()这样的调用也不行.属性命名不能以new开头。
b.若重写一个类子类的dealloc,不应调用[super dealloc],当然也不用写什么release释放一些什么对象,只是处理一些你觉得必要处理的事情吧,比如中止一个还没有完成的网络请求.
c.不能使用NSAllocateObject和NSDeallocateObject
d.你不能在c结构中使用对象,更好的方式是使用Objective-c类来代替.
e.在id和void*之间不能隐私转换,必须指明相应转换的生命周期。
f.不能使用NSAutoreleasePool对象,ARC使用@autoreleasepool{}块代替。
g.不能使用内存块,NSZone已经不需要使用了,现在运行时已经忽略之。


欢迎大家转载,原文地址:

http://blog.csdn.net/sunnykaho/article/details/8136638

你可能感兴趣的:(【IOS,Object,C】)