Giả sử tôi có bộ điều khiển xem hoặc bộ điều khiển cửa sổ, (như thường lệ) "Chủ sở hữu tệp" trong tệp XIB tương ứng.Các biến mẫu IBOutlet trong các tệp thực thi (.m)
Đó là (như bạn đã biết) rất phổ biến khi có IBOutlet
s trong lớp bộ điều khiển mà sau đó bạn có thể kết nối trong XIB bằng cách sử dụng Trình tạo giao diện.
Cho đến bây giờ, tôi đã tạo IBOutlet
biến mẫu trong các tệp giao diện (.h) của tôi. Nhưng (như bạn đã biết) IBOutlet
s thường là một cơ chế riêng của lớp điều khiển; người ngoài không nên biết về họ.
Đây là lý do tôi bây giờ — vì Objective-C gần đây đã bắt đầu cung cấp khả năng làm như vậy - muốn đặt tất cả các tệp IBOutlet
của tôi vào tệp triển khai (.m) của tôi.
Tôi đã thử làm điều này và điều này có vẻ hoạt động tốt. Câu hỏi của tôi là: Tại sao tính năng này hoạt động? Tôi đã có ấn tượng rằng Trình tạo giao diện chỉ có thể xem các tệp tiêu đề của lớp — chứ không xem trước các tệp triển khai của chúng. Liệu tôi có sai? Trình xây dựng giao diện có thể "xem" các tệp triển khai như thế nào? Có thể nguy hiểm khi đặt IBOutlet
biến mẫu vào các tệp triển khai không?
Lưu ý rằng điều này chỉ có thể xảy ra khi sử dụng thời gian chạy hiện đại trên máy Mac, có nghĩa là chỉ 64 bit. Thời gian chạy cổ điển yêu cầu tất cả các ivars phải được khai báo trong tiêu đề. –