俺の心は三倍体!

てきとうに めもに おぼえがきに

すぐ忘れるのでメモ UITableview

テーブルビュー乗っけてるとこの、viewdidloadなんかでやっとく

[テーブルビュー registerClass:カスタムセルクラス forCellReuseIdentifier:アイデンティファイ];

 

あと、cellForRowAtIndexPathで、

 

[テーブルビュー dequeueReusableCellWithIdentifier:アイデンティファイforIndexPath:インデックスパス];

 

こんな感じでセル再利用する。

sizeWithAttributes:

UIOutletとかで、xibと連結しているUILabelのフォントサイズで、

ラベルの大きさかえたい時とかに使うと便利なのでメモ。

ローカライズとかで、ラベルに表示したい文言の長さがかわるから、横幅指定できないときとかに使う。

 

オートレイアウトしているときは、viewDidLayoutSubviewsとかに書かないと、

うまく反映してくれないので注意。

(多分viewDidLoadとかだと、その後にオートレイアウト当てられるためうまく行かない?)

NSStringのsizeWithFont:はdepricatedなので、sizeWithAttributes:を使う。

//self.labelは、プロパティでxibとoutletでつながっている事にします。
CGSize size = [self.label.text sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:self.label.font.pointSize]}];
//sizeをlabelに適用
self.label.frame = CGRectMake(self.label.frame.origin.width,self.label.frame.origin.height,size.width,size.height);

ねむい!ちょっと確認してないんですがそのうち直します・・・。

モダンでさくせい NSMutableArray

 
// レガシー
// 要素の最後にニルが必要
// arrayWithObjects:する必要がある
NSArray* array1 = [NSArray arrayWithObjects:@"要素1", @"要素2", @"要素3", nil];
NSMutableArray* muArray1= [array1 mutableCopy];
 
// モダン
// 要素の最後にニルが不要
// arrayWithObjects:しなくても、@[@"",@""];で作成できる
NSArray* moArray1 = @[@"value1", @"value2", @"value3"];
NSMutableArray* moMuArray1 = [moArray1 mutableCopy];

なんでか不明だけどnilが表示がおかしいので、ニル表記にしてるよ。

Exitめも(Manual時)

Exit時に、戻り先に作成するメソッド。

 

- (IBAction)returnActionForSegue:(UIStoryboardSegue *)segue
{
    NSLog(@"戻り先クラスに実装");
}


  // これで遷移したいほうから移動する
[self performSegueWithIdentifier:@"ManualUnwindSegue" sender:self];

ハードウェア日和

ちいっすー。

ハードウェアも苦手なので、ここに書いて整理したいと思いますよー。

 

めちゃめちゃ適当なハードウェアについて

  1. なんだかいろいろな装置でできている。機械の部分(物質の部分)のこと。
    ⇔ソフトウェア(プログラム部分)
  2. ソフトウェアに命令された事を順番にやる部隊。実行部隊みたいな…。

例えばCPUとか、ハードディスク、メモリ、マウス、プリンターなどがある。

で、なんだかいろいろある。とは言ってもあたりまえですが種類分けくらいはできます。

大体5種類あります。

  1. 入力装置…情報の受付になります。
    太郎君、宿題は3問で数学が2問に英語が1問だよ、みたいに報告するところ。
    マウス、キーボードなどにあたります。
  2. 記憶装置…入力されたものを記憶します。
    はいはい、数2問、英1問ね、メモったよ。みたいな。
    受付簿みたいですね。メモリなど。
  3. 演算装置…入力されたものを演算します。
    太郎君がうなりながら考えるところ。
    実際はCPUの一部になってます。
  4. 制御装置…ハードウェアの制御、管制塔のようなもの。
    問題内容をメモって〜、問題といて〜みたいな打算するところ。
    これもCPUの中にあります。
  5. 出力装置…出力用です。
    答えをノートに書き出します。ああできたできた、明日提出だなあ〜。です。
    プリンター、ディスプレイなど。

今日はこのくらいで^^

さよなららー。

 

 

LRU/FIFO/LFU 忘れやすいのでメモ

勉強してもすーぐ忘れてしまうのでめもめも。

  1. LRU(Least Recently Used)
  2. FIFO(First In Out)
  3. LFU(Least Frequently Used)

1番のLRU(Least Recently Used)は、

最後に参照してから最も長い時間が経過しているページを追い出す方法、らしいです。

例えると、ソシャゲーで仲間から追い出す基準がこれかな。

最終ログイン今日のAさん、おとついのBさん、4ヶ月前のCさんならCさんを仲間から除外する感じ。

毎日ログインしてる人はほんとすごいですね、つい忘れちゃう。

 

2番のFIFO(First In Out)は最初に記憶したページを追い出すやりかた。

押し出しですね。ところてん状態。とにかく新しいやつが生き残るのだ。

 

3番LFU(Least Frequently Used)は参照頻度が最も少ないページから追い出すやりかた。

着ない服から捨てるような感じ。いつ買ったかは関係なし!

この服1年で一回しか着てないじゃねーか!捨てるわ!!こっちの服はおとつい買ったけどもう2回着てるから生き残るわ!!

これだと家ではユニクロ生き残りまくります。

 

ねむっ