LoginSignup
2
2

More than 5 years have passed since last update.

[Objective-C]NSObjectとは何か

Last updated at Posted at 2017-09-28

Objective-Cを勉強していますが、さっぱり分かりません。
学習のためまとめてみたいと思います。

NSObjectとはなにか

ランタイムシステム(Runtime System)

オブジェクトの動的な振る舞いを助けるシステムです。
単にランタイムと呼ぶ場合もあります。
これはObjective-C用のオペレーティングシステムのようなもので、
オブジェクトの生成や、メモリ領域の管理、メッセージに対応するメソッドの探索などを行います。

NSObjectを通して利用する

ランタイムシステムの機能は、ルートクラスであるNSObjectから使用できます。
このクラスを継承しているすべてのクラスは、ランタイムシステムを利用できます。

cocoaとはなにか

CocoaはObjective-Cをコア言語とするオブジェクト指向フレームワークである。

wikipediaには、このようにありますね。
どうやら私はCocoaというフレームワークを利用するために、Objetive-Cという言語を利用しているようです。
cocoaはOPENSTEPを元に発展しているそうですが、OPENSTEPでNSObjectというクラスを使うようになったそうです。

isa

NSObjectには、isaというClass型のインスタンス変数があるそうです。
すべてのインスタンスオブジェクトは、isaによって自分が属しているクラスオブジェクトを参照することができます。
isaの値をサブクラスから変更するのはNG。

NSObjectのメソッド

詳細は省きますが、以上のような仕組みからNSObjectによってメソッドが提供されているんですね。

参考文献

詳解Objective-C 2.0
Coco - Wikipedia

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2