2010-03-19 41 views
7

Tôi đã có một cái nhìn trong ứng dụng của tôi mà hiện khá nhiều tất cả mọi thứ, và tôi thích nó theo cách đó. Tuy nhiên, vấn đề là nó thực hiện 5 hoặc 6 đại biểu khác nhau, có vẻ hơi lộn xộn một chút.Làm thế nào để xử lý nhiều đại biểu

Câu hỏi của tôi là, trình điều khiển chế độ xem có phải triển khai tất cả các đại biểu không? hoặc là có một số cách tôi có thể tách mã ra thành các tập tin khác nhau (mà không cần phải làm một cơ cấu chính hoặc viết lại)?

Dưới đây là tất cả các đại biểu Tôi đang thực hiện:

@interface MyView : UIViewController <UIScrollViewDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIActionSheetDelegate, MFMailComposeViewControllerDelegate> 

Trả lời

12

Không có vấn đề. Giải pháp là các loại Mục tiêu-C. Bạn có thể đặt tệp này vào một tệp nguồn riêng:

#import "MyView.h" 
@implementation MyView (UIScrollViewDelegate) 
// scroll view delegate method implementations go here 
@end 

Một quy ước tốt là đặt tên tệp này là "MyView + UIScrollViewDelegate.m". Các phương thức bạn định nghĩa ở đây sẽ hoạt động giống như chúng được định nghĩa trong "MyView.m".

Không cần tên của danh mục để khớp với tên của giao thức. Bạn có thể thực hiện việc này bằng bất kỳ phương thức nào và sử dụng bất kỳ tên danh mục nào bạn muốn.

+0

Tuyệt, tôi sẽ dùng thử, cảm ơn! –

+0

Tôi quan tâm đến điều này để làm sạch mã của tôi. Do u cần phải có "MyView + UIScrollViewDelegate.h" quá. Nếu có thì nó trông như thế nào? – tiguero

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