2012-05-10 24 views
7

Trong Java, khi bạn ghi đè phương thức, bạn được khuyên (gần như bắt buộc) để thêm chú thích @Override. Có một quy ước để đánh dấu (hoặc trong ý kiến, hoặc bằng một số cơ chế khác) phương pháp ghi đè trong thế giới Objective-C?Quy ước mục tiêu-C cho các phương thức ghi đè

+0

Câu hỏi liên quan: [Mục tiêu-C tương đương ghi đè trong C#] (http://stackoverflow.com/questions/1034554/objective-c-equivalent-of-override-in-c-sharp) –

Trả lời

3

Không. Tất cả các phương pháp trong mục tiêu-C được gửi qua tin nhắn của Objective-C, vì vậy tất cả các phương pháp có thể được ghi đè. Đó là một phần của ngôn ngữ.

Không có quy ước nào để đánh dấu điều này. Đó là một phần của ngôn ngữ mà nó xảy ra, và nếu bạn đã bình luận nếu không nó sẽ chỉ gây nhầm lẫn khi bạn đã làm nó sau này, vô tình hoặc cố ý.

+0

Tôi biết rằng, tình hình là như nhau với Java - (gần như) tất cả các chức năng là ảo, tuy nhiên tôi vẫn thấy điểm để cảnh báo rằng bạn đang ghi đè một phương thức cha mẹ. Nó chắc chắn sẽ làm cho các lỗi như không gọi '[super loadView]; 'dễ dàng hơn để phát hiện –

+0

Bạn cần phải kiểm tra tài liệu và đọc phương pháp của bạn. Một số phương pháp, điều quan trọng là gọi siêu. Một số phương pháp, điều quan trọng là bạn không nên gọi siêu. Trong quá khứ, tôi đã nói những gì bạn muốn là không thể cho IDE, nhưng rõ ràng Apple có thể làm hầu như bất cứ điều gì bây giờ mà họ kiểm soát trình biên dịch, khuôn khổ và ngôn ngữ, vì vậy nó có thể là giá trị nộp một đề nghị thông qua lỗi của họ phóng viên. –

+0

(btw, câu hỏi hay) –

1

Không, không thực sự.

Điều này dường như không quan trọng lắm, có thể do công văn động.

1

Tôi không chắc chắn nếu Xcode thực hiện điều này, nhưng AppCode IDE từ Jetbrains tự động annotates phương pháp ghi đè với chút màu xanh override huy hiệu ở bên lề, như vậy:

AppCode Override

. . thêm vào đó (cũng được hiển thị), tôi cũng muốn tạo một số mẫu trực tiếp (còn gọi là các đoạn mã trong Xcode) để chú thích các phương thức ghi đè bằng thẻ #pragma. Tôi thấy rằng nó giúp để xác định một cấu trúc tiêu chuẩn theo thứ tự này:

  • phương pháp lớp
  • khởi & phá hủy các phương pháp
  • phương pháp công cộng/giao thức
  • phương pháp ghi đè
  • phương pháp riêng

và bằng cách có Live Templates/Code Snippets Tôi chỉ có thể nhập 'ghi đè lên [tab]' và IDE sẽ tạo thẻ #pragma cho tôi.

. . có lẽ bạn thậm chí có thể sử dụng OCLint để kiểm tra xem cấu trúc này có được tôn trọng hay không.

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