Mac OS AppKit文檔翻譯——NSWindowController

NSWindowController

?An NSWindowController object manages a window, usually a window stored in a nib file.

一個NSWindowController對象管理一個窗口,通常這個窗口存儲在nib文件中。


Overview

This management entails:

管理限制:

——Loading and displaying the window

加載并顯示窗口

——Closing the window when appropriate

在適當的時候關閉窗口

——Customizing the window s title

自定義窗口的標題

——Storing the window s frame (size and location)? in the defaults database

存儲窗口的大小(包括坐標和長寬)在默認的數據庫里

——Cascading the window in relation to other document windows of the application

疊加應用中相關的其它文檔窗口


A window controller can manage a window by itself or as a role player in the Application Kit‘s document-based architecture, which also includes NSDocument and NSDocumentController objects. In this architecture, a window controller is created and managed by a "document" (an instance of an NSDocument subclass) and, in turn,? keeps a reference to the document.

一個窗口控制器管理自身的一個窗口,或者在Application Kit基于文檔的結構中起到一定作用,窗口控制器也包含NSDocument類和NSDocumentController類。在這樣一種結構里,創建一個窗口控制器,并通過一個‘文檔’(它是NSDocument子類的一個實例)來管理,讓它和文檔保持關連性。

The relationship between a window controller and a nib file is important. Although a window controller can manage a programmatically created window? it usually manages a window in a nib file. The nib file can contain other top-level objects, including other windows, but the window controller‘s responsibility is this primary window. The window controller is usually the owner of the nib file, even when it is part of a document-based application. Regardless of who is the file’s owner? the window controller is responsible for freeing all top- level objects in the nib file it loads.

窗口控制器與nib文件之間的有著很重要的關系。窗口控制器從程序上來講,雖然能管理被創建的窗口,但它通常是管理nib文件里的這個窗口。這個nib文件可以包含其它高級對象,包括其它窗口,但是窗口控制器的職責是負責當前的窗口。這個窗口控制器通常是nib文件的擁有者,它也是一個基于文件的應用的一部分。暫不管這個文件到底屬于誰,窗口控制器主要負責釋放nib文件加載的所有高級對象。

For simple documents—that is, documents with only one nib file containing a window—you need do little directly with NSWindowController. The Application Kit will create one for you. However, if the default window controller is not sufficient, you can create a custom subclass of NSWindowController. For documents with multiple windows or panels, your document must create separate instances of NSWindowController (or of custom subclasses of NSWindowController), one for each window or panel. An example is a CAD application that has different windows for side? top? and front views of drawn objects. What you do in your NSDocument subclass determines whether the default NSWindowController or separately created and configured NSWindowController objects are used.

對于一個簡單的文檔——即一個帶窗口的nib文件——你不需要直接做任何與 NSWindowController 相關的事情, Application Kit包會自為你創建一個窗口控制器。但是,如果默認的窗口控制器不夠用的話,你可以創建一個自定義的 NSWindowController 的子類。當文件帶有多個窗口或面板時,必須單獨創建 NSWindowController 的實例,每一個實例對應一個窗口或一個面板。例如CAD這個軟件,它有不同的窗口,位于邊上的,頂部的,可以拖拽的,以及前端視圖等。你在 NSDocument 子類里的操作決定了是使用默認的 NSWindowController 對象,還是使用單獨創建配置的 NSWindowController 對象。


Subclassing NSWindowController

You should create a subclass of NSWindowController when you want to augment the default behavior, such as to give the window a custom title or to perform some setup tasks before the window is loaded. In your class‘s initialization method? be sure to invoke on super either one of the initWithWindowNibName:... initializers or the initWithWindow: initializer. Which one depends on whether the window object originates in a nib file or is programmatically created.

當需要修改默認的參數動作時,可以創建一個 NSWindowController 的子類,例如,在窗口加載之前,自定義窗口的標題,修改一些啟動任務。在自定義的類的初始化方法里,首先要確定調用了父類的方法,或者使用了“initWithWindowNibName: ”或 “initWithWindow: ”等初始化方法。具體采用哪一種方法,取決于這個窗口對象是來自nib文件還是來自代碼創建的。

《明日此時》歷時一年,這是我翻譯的小說,后續時間充裕的話,也會繼續給大家翻譯技術文檔的哦~握爪嚶

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,106評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,441評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,211評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,736評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,475評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,834評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,829評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,009評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,559評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,306評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,516評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,038評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,728評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,132評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,443評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,249評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,484評論 2 379

推薦閱讀更多精彩內容