Tôi thấy rất nhiều mã như sau càng về cuối:Làm thế nào để một giao thức trên một biến cá thể trong Objective-C hoạt động?
id<foo> aBar;
Thông thường đây là điều mà tôi muốn nhìn thấy trong một khai báo lớp, chẳng hạn như:
@interface bar : UIViewController <UITableViewDelegate, UITableViewDataSource>
Có giá trị trung bình trên rằng aBar có thể là một thể hiện của thanh lớp và hứa hẹn sẽ có tất cả các phương thức được khai báo trong giao thức foo?
Có thể có một số 'foo' và 'bar' được hoán đổi trong câu hỏi và câu trả lời. Lớp 'bar' của anh ta không chấp nhận giao thức foo, do đó trình biên dịch sẽ phàn nàn về việc lưu trữ một thể hiện của 'bar' thành 'aBar' khi nó được viết. –
Tôi không nghĩ rằng có bất kỳ swappage, nhưng bạn đang phải về các lớp học thanh không phù hợp với các giao thức foo. Tôi nghĩ đoạn cuối của anh ấy giải thích lý do tại sao anh ấy đã viết nó theo cách đó. –