2012-07-14 47 views
1

我目前正在參加斯坦福大學CS193p iPhone和iPad應用程序開發課程(http://itunes.apple.com/itunes-u/ipad-iphone-application-development/id473757255),並且在第二堂課中,將計算器連接到.m文件,他將顯示標籤(顯示計算器上的值)連接到.h文件...目標C'目標行動'in .m和'outlet'in .h

我對整個實現和頭文件事情的理解是,您聲明類成員在標題中,並說明他們在執行中做了什麼,這就是爲什麼這對我來說沒有意義...

任何幫助將不勝感激

回答

0

Objective-C中的.m文件可能包含該類的.h文件未聲明的類的方法。事實上,使用該語言的類別特徵可以有多個.h.m,它們定義了一個類的所有方法。

至於可以連接什麼,關鍵字IBOutlet標記屬性或變量,IBAction標記操作方法。這些僅僅是編輯的提示。所有的「連接」都是在運行時自動設置的。

+0

是否有任何理由爲什麼你會把它放在另一個?我對編程相當陌生(我在學校只參加了幾堂課),所以基本的解釋確實有幫助,非常感謝答覆! – sean5 2012-07-15 02:39:23

+0

許多方法僅用於幫助實現,因此它們對於顯示在標題中沒有用處。完全私有的方法經常被列在'.m'(例如'@interface MyClass(MyClassInternal)...')的頂部的一個類別中,這樣即使它們沒有被提及,仍然可以在沒有警告的情況下調用它們在標題中。在我的代碼中,如果它自動調用,也不會在'.h'中顯示一個方法(例如'dealloc';任何只爲了符合協議而定義的方法;只能由回調函數使用的任何方法方案,如'NSNotificationCenter')。 – 2012-07-15 03:26:44

+0

好吧,這開始變得更有意義了,我其實並沒有做好解釋我的情況的工作...... 在播客中,他們將UILabel(文本標籤)拖到.h文件和IBAction(一個按鈕).m文件,可能是因爲按鈕將發送值(按下了哪個數值按鈕[這是一個RPN計算器程序]),並且它們沒有將它們都帶到.h文件標籤只會顯示計算的價值? – sean5 2012-07-15 04:09:40