Cocoa基礎研究所 > Foundation概要

Foundation概要

Foundationフレームワークは、その名の通り開発の基盤となる機能を提供します。 文字列やコレクションといった基本的なデータ構造やObjective-Cを拡張する機能が盛り込まれています。 以下がFoundationフレームワークの目的です。

Foundationフレームワークには100を超える多数のObjective-C(とJava)のクラス、構造体、関数が定義されています。 中にはApplicationKitフレームワークでも定義されているクラスがありますが、 これらのクラスはApplication Kitフレームワークのドキュメントも参照してください。

Foundationフレームワークの機能

Foundationフレームワークの提供する機能は、 大きく分けると「データ管理」「プログラムデザイン」「リソース管理」「イベント」「通信」です。 具体的なクラスについては、次のクラス階層図を参照してください。

データ管理
基本的なデータ構造とデータ管理の機能です。 データ構造には文字列やバイナリデータ、オブジェクトの集合を扱う(コレクション)配列や辞書、日付と時刻を表すクラスがあります。 また、オブジェクトを保存・復元する機能があり、オブジェクトをそのままファイルに保存し、そのファイルからオブジェクトを復元することができます。
プログラムデザイン
例外処理やメモリ管理などのObjective-Cを保管・拡張する機能と、アプリケーションをAppleScriptに対応する機能です。 メモリ管理のはリファレンスカウンタ方式で行います。
リソース管理
ファイルやアプリケーションの設定、プロセスとスレッドなどのリソースを管理します。 一貫したリソース管理により、設定ファイルの読み書きやアプリケーションの国際化もスムースに進めることができます。 URLを指定し、ネットワークを経由してリソースを扱うこともできます。
イベント
実行ループ(マウスやキーボードからのイベントや通信による入出力を処理する)やメッセージの通知を管理する機能です。 遅延実行を行うタイマーも含みます。
通信
ネットワークや分散オブジェクトなど通信に関する機能です。

クラス階層

Foundationフレームワークのクラス階層は以下のようになっています(大きいのでいくつかに分けています)。 ルートクラスはNSObjectです。 NSProxyとそのサブクラスを除き、CocoaフレームワークのクラスはすべてNSObjectを継承しています。

クラス階層図1

クラス階層図2

クラス階層図3

クラス階層図4


Copyright (C) SPICE OF LIFE. All rights reserved.