Tôi rất mới phát triển iPhone. Tôi thường gặp phải IBAction
, IBOutlet
và cứ như vậy khi đọc mã Objective-C. IB
hiện những gì đứng cho?IB có nghĩa là gì trong IBAction, IBOutlet, v.v.?
Trả lời
"Trình tạo giao diện".
Trước Xcode 4, các tệp giao diện (XIB và NIB) đã được chỉnh sửa trong một chương trình riêng biệt có tên là Trình tạo giao diện, do đó tiền tố.
IBAction
được xác định là void
và IBOutlet
không có gì. Chúng chỉ là manh mối cho Trình tạo giao diện khi phân tích cú pháp các tệp để làm cho chúng có sẵn cho các kết nối.
Chỉ cần thêm tài liệu tham khảo, bên AppKit/NSNibDeclarations.h bạn sẽ tìm thấy những:
#ifndef IBOutlet
#define IBOutlet
#endif
#ifndef IBAction
#define IBAction void
#endif
Vì vậy, trên thực tế, mã như thế này:
@interface ...
{
IBOutlet NSTextField *label;
}
- (IBAction)buttonPressed:(id)sender;
@end
sẽ được chuyển đổi thành:
@interface ...
{
NSTextField *label;
}
- (void)buttonPressed:(id)sender;
@end
Bằng bộ xử lý trước, ngay cả trước khi trình biên dịch nhìn thấy nó. Những từ khóa đó hoạt động giống như manh mối cho Trình tạo giao diện.
Chỉ cần thêm, 'IBAction' là' void'. Đó là một thứ đánh dấu để Trình xây dựng giao diện có thể xem mã phương thức nào cho thấy các kết nối đến các nút và các điều khiển khác. Không chắc chắn về 'IBOutlet', nhưng tôi chắc chắn nó tương tự như' IBAction' để Trình xây dựng giao diện có thể xem điều khiển nào nó có thể kết nối với mã đó. – Eimantas
Công cụ này vẫn được gọi là Interface Builder; nó không còn tồn tại như một ứng dụng riêng biệt nữa. Xấu hổ, bởi vì tôi thực sự yêu mến biểu tượng. – BoltClock
@Eimantas Tôi đã chỉnh sửa câu trả lời để tạo ghi chú trong những lúc này khi bạn viết bình luận :-) cảm ơn vì đã trỏ nó quá – sidyll
IB là viết tắt của trình tạo giao diện, khi bạn kết nối các đối tượng thông qua trình tạo giao diện.
IBAction và IBOutlet là giao diện Builder Constants IBOutlet: Một lớp Controller có thể tham chiếu đến đối tượng trong tệp nib sử dụng hằng số đặc biệt gọi là IBOutlet.
IBActions: Các đối tượng giao diện trong tệp nib có thể được đặt để kích hoạt các phương thức cụ thể trong lớp điều khiển bằng cách sử dụng IBAction làm kiểu trả về của phương thức.
- 1. IBOutlet và IBAction
- 2. Chính xác "IB" và "UB" có nghĩa là gì?
- 3. Tóm tắt tất cả các kết nối IBOutlet, IBAction trong một dự án?
- 4. IBAction không được gọi là
- 5. cách kết nối với IBOutlet hoặc IBAction trong lớp cơ sở
- 6. /([^.]*)\.(.*)/ có nghĩa là gì?
- 7. "\\. \", "\ ?? \", "\\? \", "\\" có nghĩa là gì?
- 8. {} có nghĩa là gì?
- 9. = * có nghĩa là gì?
- 10. Có nghĩa là gì?
- 11. Context có nghĩa là gì?
- 12. HorizontalAccuracy có nghĩa là gì?
- 13. "Context" trong "ServletContext" có nghĩa là gì?
- 14. $$ có nghĩa là gì trong vỏ?
- 15. $ # array có nghĩa là gì trong Perl?
- 16. "class:" có nghĩa là gì trong C++?
- 17. Gì !! có nghĩa là trong ruby?
- 18. Điều gì: = có nghĩa là trong vb.net?
- 19. Có nghĩa là gì trong C++?
- 20. EPS có nghĩa là gì trong C?
- 21. '&' có nghĩa là gì trong C++?
- 22. "<:" có nghĩa là gì trong Scala?
- 23. .delegate có nghĩa là gì trong groovy?
- 24. "$$ q" có nghĩa là gì trong Perl?
- 25. Param: _ * có nghĩa là gì trong Scala?
- 26. apostrophe có nghĩa là gì trong Haskell?
- 27. = & có nghĩa là gì trong PHP?
- 28. "() =>" có nghĩa là gì trong C#?
- 29. [] có nghĩa là gì trong JavaScript?
- 30. Trong Mathematica, @@@ có nghĩa là gì?
Trình tạo giao diện – jrturton