2011-09-16 43 views
5

[xin lỗi vì tôi yếu tiếng Anh]Tôi có nên gọi [super superMethod] sau mã của riêng tôi hoặc trước mã không?

Câu hỏi đặt ra là đơn giản (nhưng tôi có khó khăn trong việc thể hiện nó và tìm kiếm nó trong google) ...

nên I (trong tất cả các trường hợp tương tự, khi tôi ghi đè siêu phương pháp, chứ không phải chỉ có một này) sử dụng:

- (void)viewDidLoad 
{ 
    /* 
     my code 
    */ 

    [super viewDidLoad]; 
} 

hoặc

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    /* 
     my code 
    */ 
} 

hay nó phụ thuộc?

+0

Nói chung, lệnh gọi 'super' phải ở đầu thói quen khi" xây dựng "và cuối cùng là" rách ". –

Trả lời

1

Tùy thuộc vào phương pháp; ví dụ. -[super init] (trước) và -[super dealloc] (sau).

+0

tất cả các quyền TNX, nhưng ai đó có lẽ nên nói thêm về chủ đề này ở đây :) – fir

+0

Kiểm tra câu trả lời của Justin. – Wevah

6

trong một số trường hợp, thứ tự sẽ không thành vấn đề. ở những người khác, trật tự là rất quan trọng.

một số khái quát sẽ giúp:

  • khi bạn đang xây dựng một phần trạng thái của đối tượng (viewDidLoadinit...), gọi qua super đầu tiên.
  • khi bạn đang hủy một phần trạng thái của đối tượng (viewDidUnload hoặc dealloc), hãy gọi qua số super trước.
  • nếu tôi chắc chắn rằng thứ tự không quan trọng, thì tôi chỉ cần gọi số super trước để tổ chức dễ dàng hơn.
Các vấn đề liên quan