iOS SDK 4.3 學習筆記 iPhone101 (01)

來源:互聯網
上載者:User

準備 iPad 開發,由於使用IOS SDK 4.3 , 很多老的書的介面與此不符,只好看英文的說明了。

 

一篇小小的 HelloWorld 居然看了 n 個小時。。。。。。寫了快30年程式了,實在汗顏。

 

痛點有三:

1   介面不熟 (IOS SDK 4.3 變化較大)

2   語言障礙 (英語還是不如母語呀)

3   程式架構 (完全不瞭解)

 

打算每天寫些,希望能對剛開始用IOS SDK 4.3 的同學們略有協助。

 

https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhone101/Articles/00_Introduction.html

iPhone101.pdf

 
P25 有這樣一行語句
@synthesize myViewController=_myViewController;
 
P26 是這樣說明的
You use the “_” prefix for the instance variable to serve as a reminder that you shouldn’t access an instance variable directly. From an academic perspective, this helps to preserve encapsulation, but there are two important practical benefits in Cocoa:
● Some Cocoa technologies (notably key-value coding) depend on use of accessor methods, and in the appropriate naming of the accessor methods. If you don’t use accessor methods, your application may be less able to take advantage of standard Cocoa features.
● Some property values are created on-demand. If you try to use the instance variable directly, you may get nil or an uninitialized value. (A view controller’s view is a good example.)
 
字典中 synthesize 的意思是“綜合,使合成;人工合成”
 
在這裡 synthesize 的作用應該是產生 get 和 set 方法。而後面的變數增加底線只是為了在使用這個成員變數時,確保使用 get 和 set 方法,而不是直接存取。其實也可以寫成:
 
@synthesize myViewController
 
不過,如果寫成上面這個樣子,就無法從字面上確定像以下這樣的語句,調用的是 get 和 set 方法,還是直接存取成員變數了。
 
self.myViewController = aViewController;
 
如果寫成 @synthesize myViewController=_myViewController; 則很容易區分。
 
self.myViewController = aViewController;      // 使用 set 方法
self._myViewController = aViewController;    // 直接存取成員變數


摘自 pingjiang2003的專欄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.