2009-07-26 35 views
38

Tôi đang viết ứng dụng iPhone đầu tiên của mình và tôi đang gặp sự cố khi chuyển đổi chế độ xem. Tôi có 2 chế độ xem và tham chiếu cho mỗi trong số AppDelegate (ví dụ về UIApplicationDelegate). Tôi tạo các phiên bản của cả hai trong số applicationDidFinishLaunching và ngay lập tức hiển thị chế độ xem đầu tiên. Điều này hoạt động tốt.Tham chiếu đến đại biểu UIApplication

Vấn đề là tham chiếu đến chế độ xem khác nằm trong AppDelegate và tôi không thể tìm hiểu cách tham chiếu đến nó để tôi có thể chuyển sang chế độ xem khác. Có cách nào để tham chiếu đến các đối tượng chính UIApplication hoặc UIApplicationDelegate không?

Trả lời

102

Vâng, UIApplication là một singleton, và sử dụng các mô hình singleton bình thường đối với Objective-C:

[UIApplication sharedApplication]; 

Bạn có thể lấy lớp đại biểu của bạn trực tiếp từ nó:

MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]; 
+1

có thể hiển nhiên nhưng đáng lưu ý rằng MyApplicationDelegate là tên của lớp phù hợp với giao thức ** UI ApplicationDelegate **, trong nhiều trường hợp ** AppDelegate ** – Mehdi

16

Sử dụng:

[[UIApplication sharedApplication] delegate]; 
Các vấn đề liên quan