Thông thường tôi (sao chép các phương thức của Apple) khai báo các giao thức trên tiêu đề của lớp sẽ tương tác với các đại biểu của giao thức đó. (Ví dụ: tệp tiêu đề UIActionSheet giữ khai báo giao thức cho UIActionSheetDelegate.) Nó không thực sự quan trọng về mặt kỹ thuật nơi bạn khai báo các giao thức, miễn là bạn không có tham chiếu vòng tròn của các câu lệnh #import
. Điều này thường không xảy ra vì lớp tương tác với giao thức làm như vậy để tránh cần phải #import
tất cả các lớp khác sẽ thực hiện giao thức này. (UIActionSheet gửi tin nhắn đến các lớp của bạn khi nó được loại bỏ thông qua giao thức, và do đó không cần phải #import bất kỳ lớp nào của bạn.)
Nếu bạn có một giao thức và một số lớp không liên quan sẽ tương tác với các đại biểu giao thức, đó sẽ là một chỉ báo tốt để đặt giao thức trong tệp riêng của nó, bởi vì giao thức không thực sự liên kết với một lớp cụ thể.
Nguồn
2012-06-01 02:34:24