【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,并且是往observer的instance把自己注冊進去
 
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
 
總結
以上是生活随笔為你收集整理的【Object C】从Java 一步步走向Object C的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 计算机效果图线稿的制作方法,如何只用PS
 - 下一篇: 迅雷2019校园招聘 内推码