Helpex - Trao đổi & giúp đỡ Đăng nhập
72

Trong Objective-C, sự khác biệt giữa initphương thức (tức là trình khởi tạo được chỉ định cho một lớp) và initializephương thức là gì? Những mã khởi tạo nào nên được đặt trong mỗi?

72 hữu ích 0 bình luận 33k xem chia sẻ
125

-initlà một phương thức thể hiện, được sử dụng để khởi tạo một đối tượng cụ thể. +initializelà một phương thức lớp, chạy trước khi bất kỳ phiên bản nào của lớp được tạo và trước khi các phương thức lớp khác được chạy. +initializekhông phải là thứ bạn sử dụng hầu hết thời gian, nhưng nó rất tiện để thiết lập bất kỳ biến tĩnh nào mà toàn bộ lớp có thể sử dụng hoặc để đảm bảo rằng các điều kiện nhất định được đáp ứng trước khi bất kỳ trường hợp nào được tạo.

Mã thuộc về một -initphương thức được mô tả kỹ lưỡng trong phần Thực hiện Trình khởi tạo của Ngôn ngữ lập trình Objective-C . Ngoài ra còn có một số thảo luận về việc khởi tạo các lớp (tức là +initialize) và tại sao bạn có thể cần phải làm điều đó trong cùng một tài liệu, trong phần Đối tượng lớp . Mã đi vào +initializenói chung sẽ được liên kết chặt chẽ với chức năng đặc biệt của lớp yêu cầu bạn khởi tạo nó ở vị trí đầu tiên. Một điều quan trọng cần ghi nhớ +initialize(và trong bất kỳ phương thức lớp nào) là selftrong một phương thức lớp đề cập đến chính lớp đó, không phải là một thể hiện của lớp.

125 hữu ích 5 bình luận chia sẻ
17

Để vẽ song song cho các nhà phát triển Java, init giống như một hàm tạo, trong khi khởi tạo giống như một khối tĩnh trên một lớp.

17 hữu ích 1 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ objective-c initialization init initializer , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading