Cocoa基礎研究所 > Foundation概要
Foundation概要
Foundationフレームワークは、その名の通り開発の基盤となる機能を提供します。
文字列やコレクションといった基本的なデータ構造やObjective-Cを拡張する機能が盛り込まれています。
以下がFoundationフレームワークの目的です。
- 基本的なユーティリティクラスの提供
- メモリ管理などの方針を一貫することで開発効率を上げる
- Unicode文字列、オブジェクトの永続化、分散オブジェクトをサポート
- OSに依存せず、プログラムの移植性を高める
Foundationフレームワークには100を超える多数のObjective-C(とJava)のクラス、構造体、関数が定義されています。
中にはApplicationKitフレームワークでも定義されているクラスがありますが、
これらのクラスはApplication Kitフレームワークのドキュメントも参照してください。
Foundationフレームワークの機能
Foundationフレームワークの提供する機能は、
大きく分けると「データ管理」「プログラムデザイン」「リソース管理」「イベント」「通信」です。
具体的なクラスについては、次のクラス階層図を参照してください。
- データ管理
-
基本的なデータ構造とデータ管理の機能です。
データ構造には文字列やバイナリデータ、オブジェクトの集合を扱う(コレクション)配列や辞書、日付と時刻を表すクラスがあります。
また、オブジェクトを保存・復元する機能があり、オブジェクトをそのままファイルに保存し、そのファイルからオブジェクトを復元することができます。
- プログラムデザイン
-
例外処理やメモリ管理などのObjective-Cを保管・拡張する機能と、アプリケーションをAppleScriptに対応する機能です。
メモリ管理のはリファレンスカウンタ方式で行います。
- リソース管理
-
ファイルやアプリケーションの設定、プロセスとスレッドなどのリソースを管理します。
一貫したリソース管理により、設定ファイルの読み書きやアプリケーションの国際化もスムースに進めることができます。
URLを指定し、ネットワークを経由してリソースを扱うこともできます。
- イベント
-
実行ループ(マウスやキーボードからのイベントや通信による入出力を処理する)やメッセージの通知を管理する機能です。
遅延実行を行うタイマーも含みます。
- 通信
-
ネットワークや分散オブジェクトなど通信に関する機能です。
クラス階層
Foundationフレームワークのクラス階層は以下のようになっています(大きいのでいくつかに分けています)。
ルートクラスはNSObjectです。
NSProxyとそのサブクラスを除き、CocoaフレームワークのクラスはすべてNSObjectを継承しています。
Copyright (C) SPICE OF LIFE. All rights reserved.