Chủ sở hữu tệp và Người trả lời đầu tiên trong iOS - Xcode là gì?


Câu trả lời:


170

Chủ sở hữu tệp là một đối tượng thời gian chạy , được khởi tạo, sở hữu nội dung của nib của bạn và các cửa hàng / hành động của nó khi nib được tải. Nó có thể là một phiên bản của bất kỳ lớp nào bạn thích - hãy xem tab nhận dạng của bảng công cụ.

Chủ sở hữu tệp là liên kết chính giữa mã ứng dụng của bạn và nội dung của tệp nib.

Ví dụ: hãy xem xét bạn có một lớp con UIViewController với IBOutlet cho một UILabel. Trong trình tạo giao diện, chủ sở hữu của Tệp sẽ được đặt thành cùng lớp với UIViewController của bạn. Khi nib của bạn được tải trong thời gian chạy, các ràng buộc của các cửa hàng và hành động được xác định trong nib của bạn được liên kết với phiên bản của bộ điều khiển chế độ xem của bạn, vì bộ điều khiển chế độ xem của bạn là chủ sở hữu.

Ngòi được tải bằng:

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];

Tham số chủ sở hữu đặc biệt quan trọng. Đó là thể hiện thời gian chạy của một lớp sở hữu nội dung (cửa hàng, hành động và đối tượng) của nib đang được tải.

Hy vọng rằng điều đó rõ ràng. Để xem điều này tại nơi làm việc, hãy tạo một dự án iPhone hoàn toàn mới với bộ điều khiển chế độ xem. Mở tệp Nib và xem tab nhận dạng.

Người phản hồi đầu tiên chỉ đơn giản là đối tượng đầu tiên trong chuỗi người trả lời có thể phản hồi các sự kiện. Chuỗi phản hồi là một tập hợp thời gian chạy (hay chính xác hơn là một hệ thống phân cấp) các đối tượng có thể phản hồi một sự kiện. Ví dụ: hãy coi bạn có một cửa sổ với một dạng xem và trên dạng xem đó là một trường văn bản.

Nếu trường văn bản đó có tiêu điểm, nó được gọi là trường phản hồi đầu tiên trong chuỗi. Vì vậy, nếu bạn gửi một tin nhắn cho người trả lời đầu tiên, nó sẽ được gửi đến trường văn bản trước tiên. Nếu trường văn bản không thể xử lý thông báo, nó sẽ được gửi đến người trả lời tiếp theo . Và kế tiếp. Và tiếp theo, cho đến khi bạn đến cuối chuỗi phản hồi hoặc thứ gì đó đã tiêu thụ sự kiện (iirc).

Chuỗi phản hồi rất đáng để đọc - hãy xem tài liệu của apple để biết thêm thông tin.


1
@dannywartnaby: mô tả chi tiết !! +1
Jayprakash Dubey

1
lời giải thích tuyệt vời!
TMin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.