我對iPhone的開發很陌生。在閱讀Objective-C代碼時,我經常遇到IBAction
,IBOutlet
等等。 IB
代表什麼?IB在IBAction,IBOutlet等中的含義是什麼??
回答
「Interface Builder」。
在Xcode 4之前,接口文件(XIB和NIB)在名爲Interface Builder的單獨程序中編輯,因此是前綴。
IBAction
定義爲void
和IBOutlet
爲空。它們只是解析文件以使它們可用於連接的Interface Builder的線索。
我想補充參考,了AppKit/NSNibDeclarations.h裏面你會發現這些:
#ifndef IBOutlet
#define IBOutlet
#endif
#ifndef IBAction
#define IBAction void
#endif
所以,實際上,這樣的代碼:
@interface ...
{
IBOutlet NSTextField *label;
}
- (IBAction)buttonPressed:(id)sender;
@end
將轉變爲:
@interface ...
{
NSTextField *label;
}
- (void)buttonPressed:(id)sender;
@end
通過預處理器,甚至在編譯器看到它之前。這些關鍵字只是作爲Interface Builder的線索。
只是加起來,'IBAction'是'void'。這是一種標記事物,以便Interface Builder可以查看哪些方法代碼公開了與按鈕和其他控件的連接。不確定'IBOutlet',但我確定它與'IBAction'類似,因此Interface Builder會看到它可以連接到代碼的控件。 – Eimantas 2011-12-21 15:19:15
該工具仍稱爲Interface Builder;它不再作爲一個單獨的應用程序存在。恥辱,因爲我真的很喜歡這個圖標。 – BoltClock 2011-12-21 15:19:38
@Eimantas我一直在編輯答案,在寫這些評論的同時做一個筆記:-)謝謝指向它 – sidyll 2011-12-21 15:21:50
當您通過接口構建器連接對象時,IB代表接口構建器。
IBAction和IBOutlet是接口生成器常量 IBOutlet:Controller類可以使用稱爲IBOutlet的特殊常量引用nib文件中的對象。
IBActions:可以將nib文件中的接口對象設置爲使用IBAction作爲方法的返回類型來觸發控制器類中的特定方法。
- 1. 單個IBAction爲IBOutlet中和
- 2. Swift - 在函數中使用IBOutlet和IBAction?
- 3. 在Ruby中,逗號後跟等號的含義是什麼?
- 4. 爲什麼IB沒有看到我的IBAction?
- 5. IBOutlet中的文件的所有者/ IB
- 6. iboutlet和ibaction連接錯誤
- 7. _._在包裝中的含義是什麼?
- 8. 「++」在PHP中的含義是什麼?
- 9. tipbot在LKML中的含義是什麼?
- 10. information_schema.TABLES.DATA_FREE在MySQL中的含義是什麼?
- 11. * width:auto在CSS中的含義是什麼?
- 12. 什麼是::在簽名中的含義?
- 13. $$在shell中的含義是什麼?
- 14. *〜在glob中的含義是什麼?
- 15. uv.zw在HLSL中的含義是什麼?
- 16. '</'在JavaScript中的含義是什麼?
- 17. 「LBS」在WAI中的含義是什麼?
- 18. 「$ .something」在jquery中的含義是什麼?
- 19. @const在JavaScript中的含義是什麼?
- 20. 「$ {x %% *}」在sh中的含義是什麼?
- 21. 「ls」在Haskell中的含義是什麼?
- 22. 「EGPCS」在PHP中的含義是什麼?
- 23. 「|&」在bash中的含義是什麼?
- 24. 「var」在C#中的含義是什麼?
- 25. 「=>」在JavaScript中的含義是什麼?
- 26. __FILE__在Ruby中的含義是什麼?
- 27. %s在Python中的含義是什麼?
- 28. html.oldie在CSS中的含義是什麼?
- 29. 「+」在CSS中的含義是什麼?
- 30. 「:: function()」在cpp中的含義是什麼?
接口生成器 – jrturton 2011-12-21 15:17:09