Objective-Cは型が弱いのではなく型が少ない
2959 ワード
Objective-Cは以下の型を持つ
- 基本型
- int
- float
- double
- char
- など
- 構造体
- 配列型
- 要素数が異なれば型も異なる
- ポインタ型
NSObjectインスタンスは全てポインタ型
NSObjectインスタンスを格納する変数をスタック領域に確保することは出来ない
// コンパイルエラー
NSObject object;
必ずallocでポインタ型として受け取る必要がある
NSObject *object = [[NSObject alloc] init];
ポインタ型は指し示す先の型が異なっても代入が可能
NSString *str = @"Hello World";
NSNumber *num = str; // warning: incompatible pointer types
int a = 10;
float *f = &a; // warning: incompatible pointer types
異なる型への代入は出来ない
int a = 10;
float b = a; // コンパイルエラー
int a = 10;
float b = a; // コンパイルエラー
キャストをする必要がある
int a = 10;
float b = (float)a;
まとめ
Objective-Cは型が弱いのではなく、型が少ない と言えます
Author And Source
この問題について(Objective-Cは型が弱いのではなく型が少ない), 我々は、より多くの情報をここで見つけました https://qiita.com/ysn/items/f634fd0c81f875549eb8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .