Kể từ Xcode 3.2, mẫu ứng dụng Mac cũng đi kèm với một đại biểu ứng dụng, đã được kết nối, có một phương thức như vậy.
Để thiết lập điều này trong một dự án được tạo trước Xcode 3.2, hãy tạo một lớp mới để đại biểu của bạn là một phiên bản. Tôi thường đặt tên là “AppDelegate”. Bạn sẽ làm điều này bằng cách kích chuột phải vào nhóm Classes và chọn “Add File”, sau đó chọn mẫu tệp lớp con Cocoa NSObject.
Mở tiêu đề bạn vừa tạo (AppDelegate.h). Cho nó bất kỳ biến thể hiện nào bạn muốn. Sau đó nhấn Go to Counterpart. Điều đó sẽ đưa bạn đến tệp triển khai (AppDelegate.m). Thêm phương thức cá thể applicationDidFinishLaunching:
của bạn tại đây. Không giống như trên iPhone, đây là một phương thức xử lý thông báo, vì vậy nó cần một cá thể NSNotification chứ không phải một cá thể NSApplication.
Bây giờ hãy kết nối nó. Trong nhóm Tài nguyên, mở MainMenu.nib. Kéo một đối tượng từ cửa sổ Thư viện vào cửa sổ nib cấp cao nhất (một đối tượng có biểu tượng trong đó, chẳng hạn như Chủ sở hữu tệp và Phản hồi đầu tiên). Chọn đối tượng bạn vừa tạo và mở thanh tra Identity. Đặt lớp của đối tượng thành AppDelegate, khớp với tên bạn đã sử dụng trong Xcode. Nhấp chuột phải vào Chủ sở hữu tệp và kéo từ lối ra delegate
của nó tới đối tượng mới của bạn.
Trong Xcode, thêm tuyên bố NSLog vào phương pháp applicationDidFinishLaunching:
của bạn. Nhấn Save All, sau đó Build và Go. Chuyển về Xcode và mở Bảng điều khiển Debugger. Nếu bạn đã làm tất cả mọi thứ đúng và tôi đã không quên bất cứ điều gì, bạn sẽ thấy thông điệp tường trình ở đó.
Nguồn
2009-09-03 20:16:50
Bạn đang thiếu một dấu ngoặc nhọn xung quanh 'siêu init' và bạn không đề cập rằng phương pháp' applicationDidFinishLaunching: 'phải được thực hiện bởi lớp ssame để làm cho nó làm việc. – MKroehnert