2012-01-23 64 views
7

Tôi chỉ là một newbie của chương trình Objective C iPhone ... Tôi thấy rất nhiều mã có chứa phương pháp có tên "awakeFromNib" .. Điều đó thực sự có ý nghĩa gì? làm thế nào và khi nào và ở đâu để gọi phương pháp này? Cảm ơn ...Điều gì awakeFromNib thực sự là?

Trả lời

9

awakeFromNib được gọi cho các đối tượng (chế độ xem, bộ điều khiển, v.v.) đang được lưu trữ trong các tệp xib/nib. Điều này về cơ bản có nghĩa là xib/nib đã được hủy lưu trữ, tất cả các kết nối (IBActions/IBOutlets) cho tất cả các đối tượng được tạo và bạn có biểu đồ đối tượng hoạt động.

Tôi sử dụng nó khi tôi có một lớp chế độ xem tùy chỉnh mà tôi đã cung cấp cho một chế độ xem nhất định trong xib của tôi.

+0

cảm ơn Eimantas .. có nghĩa là khi tạo một thể hiện của khung nhìn, các đối tượng được tạo ra sẽ được lưu trữ lúc đầu? – Aldee

+0

các đối tượng trong nib được lưu trữ. Phương thức này được gọi cho mỗi đối tượng khi bộ điều khiển xem đã hủy lưu trữ nib. – Eimantas

+0

vì vậy khi nào các đối tượng được lưu trữ hoặc hủy lưu trữ? – Gerry

1

Bạn không gọi nó. Sau khi tải tệp nib, mọi chế độ xem bên trong, có thể là nút, UIView hoặc một thứ khác, gọi số awakeFromNib từ lớp tương ứng của chúng một cách tự động. Bạn ghi đè phương pháp này để thiết lập và bố cục, như bạn sẽ làm với phương thức init nếu bạn đang tạo một chế độ xem phụ theo lập trình.

+0

ahh .. tôi hiểu .. vậy nghĩa là awakeFromNib được gọi sau khi mọi thứ đã được tải đúng không? cảm ơn Kyr .. – Aldee

Các vấn đề liên quan