【土曜日】コワーキングスペースで自習
金曜は休校日でした。
今日は家から少し自転車で行ったところにコワーキングスペースがあるので行ってみたりしました。
静かで捗った。
ということで、火曜日書いた要復習ぶんをやった。
・alloc initとはなんぞや
NSObject クラスのメソッド。インスタンスを使えるようにするメソッド。
alloc initしたらあとでreleaseかautoreleaseをしなければならない。
<使い方>
Sankaku *sankaku_A = [[Sankaku alloc] init];
・retainとはなんぞや
NSObject クラスのメソッド。メモリ管理するための保持カウンタに1を増やす。
保持カウンタが0だとメモリは解放される。
ちなみにreleaseは1減らす。
<使い方>
[str retain]; // 生成時の保持カウンタは1です
[str release]; // 保持カウンタが0になりインスタンスがメモリ上から解放される
・autorelease
NSObject クラスのメソッド。1つ1つ個別にreleaseすることが面倒なインスタンスについて、自動解放プールにあらかじめ登録して、そのブロックを抜けるときに一斉にreleaseするためのメソッド。
<使い方>
@autoreleasepool {
NSMutableString *mstr = [[NSMutableString alloc] initWithString:@"abc"];
[mstr autorelease];
NSLog(@"mstr1の文字列は%@です", mstr);
} // mstrがここで解放される
・構造体
例えば「人間」というデータがあった場合、その中に「身長」「体重」「生まれた年」「生まれた月」「生まれた日」という複数のデータがある。それを格納する入れ物が構造体。
構造体の型名はstructから始まる。
<使い方>
typedef struct Hito{
float height;
float weight;
int birthYear;
int birthMonth;
int birthDay;
} Hito;
Hito a; // 構造体変数aを宣言?
a.height = 170.5; // 構造体変数aの中の身長を表すメンバ変数に170.5を格納
・NSRange
NSStringクラスのメソッド。指定した文字列を切り出したり削除したり置換したりするときに使う。
<使い方>
// 対象とする文字列からHelloを探す
NSRange result = [str rangeOfString:@"Hello"];
・[button setFrame:rect];などの別の記述の仕方
[button setFrame:rect]; は button.frame = rect と書いても可なのだ
・#define BTN_SHOW 0 ってなんぞ?
文字列の置換を行うプリプロセッサ命令。定数を定義する時に使う。
#define BTN_SHOW 0 は、BTN_SHOWを0に置き換えていることになる。
・「継承」の意味を理解していないようだね
今回の復習でなんとなくわかった。
・self.view.backgroundColor と self.backgroundColor の違いがわからない
わからないので学校で聞いてみよう。