Cocoaテキストシステム(以前は単にNSTextという主要クラス名で知られていた)は、クラス、プロトコル、インターフェース、オブジェクトのリンクされたネットワークであり、タイポグラフィとテキストフィールド編集機能を提供し、 AppleのmacOS上のCocoaアプリケーションに提供され、主要なテキスト処理システムとなっている。[1]「非常に複雑」ではあるが、Cocoaテキストシステムの標準的なテキスト処理機能は比類のないものとして広く賞賛されている。[2] [3]わずか数行のコードで、フル機能のリッチテキストエディター を実装することが可能。 [4] [5]
CocoaのNSTextは、以前は開発元NeXT社のOpenStep API仕様に[6]組み込まれ、NeXTのOPENSTEPオペレーティングシステムに実装され、おそらくは以前のNeXTSTEP [要出典]プラットフォームにも実装されていましたが、さらにOpenStep API仕様を介して、フリーでオープンソースのGNUstepなどのサードパーティの実装に実装され、成功しています。[6]
Cocoaテキストシステムは、モデル・ビュー・コントローラ 設計パターンを使用します。[7]ビュー層はNSTextViewとNSTextFieldによって処理され、NSLayoutManagerとNSTextContainerはコントローラ層、NSTextStorage(可変属性文字列サブクラス)はモデルです。[8]
Cocoa テキスト システムは、GUI 環境で標準ストリーム機能を提供するためにサービスとも対話します。ユーザーは、NSTextField (1 行編集フィールドを提供) または NSTextView (複数行編集を提供) の 2 つのクラスと対話します。各 NSTextField は、「フィールド エディター」と呼ばれる NSTextView の共有インスタンスを使用します。これは、実際にフォーカスできるフィールドが常に1 つだけの場合、各フィールドが独自の NSTextViewオブジェクト グラフを実装すると発生する大量のメモリ要件を軽減するために行われました。 [9]
Cocoaはプログラマーに馴染みのあるEmacsのキーバインディングを多く採用しており[10]、関連する設定ファイルを作成して編集することで、デフォルトのテキスト編集キーボードショートカットを上書きしたり、新しいカスタムショートカットを作成したりすることができます。[11]
参考文献
- ^ Apple Inc. (2014-02-11). 「Cocoa テキスト システムについて」。Cocoaテキスト アーキテクチャ ガイド。2023年 2 月 19 日閲覧。
- ^ Anguish, Scott; Buck, Erik M.; Yacktman, Donald A. (2003). Cocoa プログラミング. ISBN 9780672322303。
- ^ 「Arise Aqua!」。
カーニング、位置揃え、下付き文字と上付き文字、完全な Unicode サポート、スペル チェック、複数のフォントと段落スタイル、埋め込みグラフィックと色のドラッグ アンド ドロップ、調整可能なタブ ストップ付きのルーラー、準拠した RTFD ファイルの読み取りと書き込みを処理できるワード プロセッサを、13 行未満のコードで構築します。これは、地球上の他の開発環境では実現できません。
- ^ 「リッチテキスト処理」。O'Reilly Commons。2008年3月7日。2016年7月21日時点のオリジナルよりアーカイブ。
- ^ 「Mac OS X 向け開発入門」。TE
にはカスタム コードはほとんどなく、基本的に AppKit をテキスト エディターのように動作させるために必要なコードのみが含まれています。
- ^ ab "GNUstep". gnustep.org . 2020年8月16日閲覧。
- ^ 「Cocoa テキスト システムのアーキテクチャは、使いやすさと柔軟性を高めるためにモジュール化され、階層化されています。そのモジュール設計は、モデル - ビュー - コントローラ パラダイム (Smalltalk-80 に由来) を反映しており、データ、その視覚的表現、および 2 つをリンクするロジックが別々のオブジェクトで表現されます。テキスト システムの場合、NSTextStorage はモデルのテキスト データを保持し、NSTextContainer はレイアウト領域のジオメトリをモデル化し、NSTextView はビューを表示し、NSLayoutManager はコントローラとして介入して、データと画面上の表現が一致するようにします。」
- ^ Bright, Peter (2008-06-01). 「Win32 から Cocoa へ: Windows ユーザーによる Mac OS X へのコンバージョン、パート III」Ars Technica . 2023-02-19閲覧。
- ^ Dovey, James; Furrow, Ashley Alonzo Hale (2013年1月4日). 入門Objective C. ISBN 9781430243694。
- ^ Rus, Jacob (2006-03-20). 「Cocoa テキスト システムのカスタマイズ」。2018-10-07 時点のオリジナルよりアーカイブ。
- ^ 「テキストシステムのデフォルトとキーバインディング」。Apple Developer Documentation Archive。2013年9月9日。2024年3月10日時点のオリジナルよりアーカイブ。2024年1月18日閲覧。
外部リンク
- Cocoaテキストシステムについて
- テキストシステムアーキテクチャ
