2013年8月3日 星期六

Xcode趕鴨子上架 Lesson 3

** 9:00~9:50 老師在檢討演示上週的回家作業如何做?
ㄟ~ 就是我不會做的那個. 沒關係,我看得懂就好了. 我如果學兩天就會xCode,那老板要開除那些工程師了,LOL.

天啊~522行Xcode專案創建檔(.pbxproj)耶, 這樣應該連看懂都粉難. 不過,第一次發現程式碼也能這麼有美感,好乾淨的畫面.(美工的職業病又來了)

**9:50 哇!發現講師超認真的,連xCode中的各種設定也都給我們了.

世風日下啊,現在都是老師比學生用功呢
(講師OS:code全給你們了還寫不出來,淚奔~)

** 9:55 連一早講到現在的每張簡報都有! (共46張,應該會講到10:15才下課休息)

** 對了,今天發新書,原來上次那本2cm厚的只用三天,Vol. 2薄一點,約1.2cm

** 10:08 下課,和我預測的差不多:-p
** ARC enable比較容易crash(這是好的)讓錯誤提早出現,目的:避免浪費記憶體空間.
** 命名原則:具解釋性,清楚,不會混淆(Vol.1, pp.268~272)

** 10:40 再找答案時,發現一個不錯的站: http://www.cocoachina.com/解答了我一些概念問題.

一、XCode、Objective-C、Cocoa說的是幾樣東西?

答案:三樣東西。
XCode:你可以把它看成是一個開發環境,就好像Visual Studio或者Netbeans或者SharpDevelop一樣的玩意。你可以將Interface Builder認為是Visual Studio中用來畫界面的那部分功能單獨提出來的程序。

Objective-C:這是一種與言,就好像c++是一種與言,Java是一種語言,c#是一種語言。

Cocoa:是一大堆函式庫,就好像MFC、.NET、Swing這類玩意,人家已經寫好了一堆現成的東西,你只要知道怎麼用就可以了。

二、關於Objective-C

问题:程式中有大量的減號、中括號和NS***,他們是什麼玩意?
答案1:減號表示一個函数、或者方法、或者消息的開始,怎麼说都行。比如c#中:
private void hello(bool ishello)
{
//OOXX
}

用Objective-C寫出來就是
-(void) hello:(BOOL)ishello
{
//OOXX
}
挺好懂的吧?
不過在Objective-C裡面没有public和private的概念,你可以認為全是public。

答案2:
中括號可以認為是如何調用你剛才寫的這個方法,通常在Objective-C裡說“消息”。比如C#裡你可以這麼寫:
this.hello(true);

在Objective-C裡,就要寫成:
[self hello:YES];

答案3:
老喬當年被人擠出蘋果,自立們戶時開了個公司叫做NextStep,這一整套開發包很是讓一些科學家們喜歡,而现在Mac OS用的就是NextStep這套函数庫。NextStep比較自戀地把函数庫裡面所有的類都用NextStep的縮寫命名,也就是NS***了。比較常見的比如:
NSLog
NSString
NSInteger
NSURL
NSImage


你會經常看到一些教學裡用到:NSLog (@"%d",myInt);

這句話主要是在console裡面跟蹤使用,你會在console裡面看到myInt的值(在XCode裡面運行的時候,按“command+shift+Y“打開dbg窗口即可看到)。而我們在其他開發環境裡面可能會比較習惯使用MessageBox這種方式進行測試。

****...講師OS: 以上這些我第一節課就說過了. =_=... ******
(我覺得我要發酵一下,才能吸收一些東西,昨天重做第一堂課的練習,稍微順一點了.)

** 下午開始在說記憶體管理(不太理解)只知道老師說iPad一代對記憶體要求很嚴格,App很容易閃退.(這是千真萬確的,不過我還是很愛我的一代,是指標性產物@Oxford)

** 14:00 不論是不是新手,都建議用ARC. (Vol.1 p.286)

** 14:46 這是「樂透選號機」老師上午說要做完才能去吃飯的,我現在才弄出來,進度落後全班3hr. 不過,還是很開心,今天下課要拿這幾號去買,看會不會中.

** 14:54
^_^

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。