Vì vậy, tôi bắt đầu học cách sử dụng Cocoa. Tôi nghĩ rằng tôi đã nhận được khá nhiều nhưng tôi đã treo lên trên tạo và chuyển đổi quan điểm. Tôi đang viết lại một trò chơi tôi đã thực hiện một chút trước đây để luyện tập. Tất cả những gì tôi muốn là một cửa sổ (tốt nhất là không thể thay đổi kích cỡ) và tôi muốn có thể chuyển đổi các khung nhìn cho các màn hình khác nhau trong trò chơi.Làm cách nào để chuyển đổi Chế độ xem trong ứng dụng Cocoa?
Trước tiên, tôi có menu chính (Bắt đầu trò chơi, Điểm cao, Thoát). Sau đó, tôi cần một cửa sổ cho mỗi màn hình (màn hình Gameplay, màn hình Highscore).
Điều tôi đang nhầm lẫn là cách thiết kế này. Tôi nhìn lên NSViewController nghĩ rằng nó quản lý quan điểm nhưng nó không. Nó chỉ quản lý một khung nhìn bằng cách tải nó thực sự. Tôi không hiểu tại sao tôi cần phải sử dụng NSViewController sau đó. Tôi không thể chỉ có một lớp cửa sổ có chứa nhiều lớp con của NSView và tải chúng như thế? Tôi không chắc tôi hiểu mục đích của ViewController.
Lớp cửa sổ của tôi có thực sự cần phải phân lớp NSWindowController không? Tôi đã cố gắng để làm theo ví dụ về ví dụ ViewController của Apple và nó có một lớp điều khiển cửa sổ đó là một lớp con của NSWindowController. Tôi không hiểu mục đích của phân lớp đó là gì. Tất cả NSWindowController dường như thêm là - initWithPath:(NSString *)newPath
nhưng tôi không thấy việc sử dụng trong đó hoặc khi tôi chỉ có thể chỉnh sửa tệp plist để mở cửa sổ khi khởi động. Ví dụ của Apple cũng có biến NSView và biến NSViewController. Bạn không chỉ cần một biến để lưu trữ chế độ xem hiện tại?
Cảm ơn bạn trước, tôi thực sự bối rối về cách thức hoạt động của nó.
Tôi đang làm ca cao trên máy tính để bàn ngay bây giờ. –
cùng một giao diện có sẵn trong Desktop (NSView) –
Vì vậy, những gì tôi muốn biết là tại sao tôi nên sử dụng NSViewController. Tôi có nên không? Tôi có nên tạo một lớp con của NSWindowController với biến NSView và NSViewController không? Tôi không chắc chắn điều gì thực sự cần thiết để tạo cửa sổ với chế độ xem có thể chuyển đổi. Từ sự hiểu biết của tôi, tôi không cần NSViewController chút nào nhưng tôi không biết kể từ khi ví dụ của Apple sử dụng nó và nó được cho là để làm cho mọi việc dễ dàng hơn cho bạn. –