前人未踏の領域へ アプリ開発編

Android, iOSアプリ開発に関する調査メモ置き場。ほとんどAndroid。古い記事にはアプリ以外も含まれます。

Objective-C基本メモ

Objective-Cとは

ANSI C言語の拡張セット。追加部分は主にSmalltalkに基づく。要するにC言語オブジェクト指向の機能を追加する目的で設計された。

特徴

  • オブジェクトはidというデータ型で定義される
  • Javaでいうnullはnil。NULLオブジェクトでありidの値は0
  • 値がnilな(nilを参照する)オブジェクトに対してメッセージを送信してもエラーにならない(実行しても何も起こらない)

構文

クラス宣言
インターフェース定義)
#import "ItsSuperclass.h" //インターフェースインポート

@interface クラス名 :スーパークラス {
    float width;
    float height;
   //インスタンス変数定義
    BOOL filled;
    NSColor *fillColor;
} 

+(戻り値の型)メソッド名:(引数型)引数ラベル //クラスメソッド
ー(戻り値の型)メソッド名:(引数型)引数ラベル //インスタンスメソッド

@class Rectangle, Circle; //他クラスの参照

@end
メソッドの呼び出し

メソッド呼び出しはメッセージをオブジェクトに送信するという考え方で行う。メッセージ構文は下記の通り

メッセージ構文)
構文)
[receiver message: argLabel0:argValue0 argLabel1:argValue1];
意味)
[宛先オブジェクト名 メソッド名第1引数ラベル:値 第2引数ラベル:値];
※メソッド名に第1引数名を連結している点に注意
例)
[shopManager getShopListPref:tokyo city:shinjuku];

ドット構文)
構文)
receiver.property = value;
意味)
オブジェクト.プロパティ = 値;
例)
Shop.name = @"ユニクロ" ;