2009-09-13 7 views
6

Khi đọc hướng dẫn ca cao, tôi đã nhận thấy rằng một số hướng dẫn sử dụng AppDelegate và một số AppController để xác định IBActions để mở các cửa sổ khác nhau sử dụng các lớp con của NSWindowController.AppDelegate hoặc AppController

Có loại quy tắc nào đó cho điều này không?

Trả lời

10

Đó chỉ là tên lớp. AppDelegate ngụ ý rằng nhiệm vụ chính của lớp là nhiệm vụ của NSApplication, trong khi AppController dường như hàm ý một phạm vi trách nhiệm rộng hơn.

11

Tôi tạo một lớp duy nhất mà ứng dụng của tôi ủy nhiệm và khởi tạo bộ điều khiển chính của tôi (trong applicationWillFinishLaunching:) và nhả nó (trong applicationWillTerminate:). Sau đó, tôi có hai lớp với trách nhiệm rõ ràng: Bộ điều khiển chính của tôi là chủ sở hữu của cửa sổ chính và mô hình, và ủy nhiệm ứng dụng không là gì ngoài ứng cử viên (và, như một phần của các nhiệm vụ này, chủ sở hữu của bộ điều khiển chính).

+2

Để làm rõ, điều này có nghĩa là bạn đặt cửa sổ chính của mình vào một tệp nib riêng biệt từ MainMenu? –

+0

@Stephen: Có; bộ điều khiển chính sở hữu nib và mọi thứ trong đó, thường là một cửa sổ và một hoặc nhiều bộ điều khiển mảng và đối tượng. –

+0

Bởi bộ điều khiển chính, bạn có nghĩa là RootViewController ... Phải không? –