Mac Baren Virginia Blend

Mac Baren の pure が美味かったので、Virginia Blend を買ってみた。

結論からすると、手巻きで吸うと抜群に美味い。ヴェポライザーだと味が薄くてダメだ。葉の匂いはワインの香りがして、これが、火をつけるとなんとも絶妙な美味さになる。主に手巻きで消費することにして、果たして、何本巻けるのだろう。60 本ぐらい巻けそうな・・・

 

Forte Extra Lights はちゃんと葉巻の味がする

朝の通勤時、いつものタバコ屋に寄ってシャグ を見てたら買おうと思っていたのが一つもない。しょうがないから帰りに秋葉原で買うことにして、さて、何も買わずに店を出るのも気が引ける(狭い店なので)ので、FORTE の黄色、Extra Lights を買うことに。

FORTE は青、水色と試して、安い・重いという印象だったのだけど、最近は口腔喫煙が多くなってきたので、前とは味わいが違うように感じるかもしれないとの期待があり、買ってみたのだ。

早速吸ってみると、美味い。丁寧に吸うと、こんなに小さいのにちゃんと葉巻の味がする。値段も ¥270 と格安。ゆっくり吸うと 5 分は持つ。

今度からこれ買おう。

 

CAShapeLayer にアニメーションを追加

CAShapeLayer にアニメーションを追加するにはどうするのか。

いろいろ調べたところ、CATransaction を使えばいいのかなと、いろいろ試してみたけれどもアニメしてくれない。

別の方法で、CABasicAnimation を使う方法があり、こちらを試してみたら半分うまくいったので、これを使うことに。半分とわざわざ断っているのは、本来は、円を拡大するアニメーションにしたかったのだけど、それをやろうとすると中心点がずれてしまい、意図せず円が拡大しながら移動する始末。多分アンカーポイントを正しく設定できていないからなんだろうね。

ちょっと思い描いていたのとは違う。 keyPath に opacity というのがあるのに気づき、これを使ってみたら、ま、当初思ってたのとは違うけどいい感じなのでこれでよしとすることに。opacity を指定するとだんだん消えるアニメーションになる。

ふぅぅ。

iTunes: 曲を指定して Genius playlist を作成

iTunes 12.9 に update したらなんでかしばらくできなくなっていたのだけど、1 週間ぐらいしたらまたできるようになったので、方法を記しておこう。できなかったのは多分 update に伴い genius 用のデータを再作成したからなんですかね。

この機能、自分の好きな曲を基にして playlist を作成してくれるというなんとも便利な機能。やり方はすごい簡単。

  1. 手持ちの曲から好きな曲を選択し CTRL + クリック
  2. context menu から、Genius のおすすめ... → プレイリストとして保存 を選択

こうすると、playlist が作成される。曲の数は 25-100 曲まで 25 刻み。だいたい 50 曲ぐらいにして iPhone に転送するとドライブの時なんか重宝する。

さらに便利なのが、一度作ったプレイリストは更新できるということ。やり方は更新ボタンを押すだけ。選択した曲を基準に作成するプレイリストなので、更新前後でよく似通った曲が選ばれることになりますが、それでも、飽きは随分軽減できる。

AI が騒がれる随分前から使えるみたいで、先見性があるなと。機能に最近気付いて勿体無いことしたな。

 

 

touch した object を判別するには・・・

object をタッチして移動するには、まず、object に対して .userinteraction = YES のプロパティを設定する。その後、touchMoved などの method を実装してくことになるのだけれど、touch した object によって動作を分けたい時、touch した object を判別しないとならない。さて、その判別はどうするんだ?結論は以下の通り。

    UITouch* touch = [touches anyObject];

    if ([touch.view isEqual:_selectedColor])

    {

説明していませんでしたが _selectedColor は、UIImageView のインスタンス

まず、touches anyObject で UITouch のインスタンスを生成。タッチした object との比較には、isEqual を使用する。ややハマったのは、isEqual は(当然ながら)同じ型のものを比較するため、touch isEqual: としてもダメで、UIView と比較したいなら、例示の通り.view などを付けて同じ型同士で比較するようにしないとならない。

という訳で、これで、object によって動作を分けることもできるようになったと。

アメスピターコイズとペリック

紙巻きタバコは先日の値上げのせいで高くなってしまい、シャグ +ヴェポライザー、たまに手巻きに完全移行したいところなんですが、外出する時はどうしても紙巻を買ってしまう。理由は、出先でシャグ を詰め替えるのが厄介なこと(見た目も怪しい)。そういった不満を解消するであろうチューブ状のシャグ を詰める菅が売ってて試しました。なんとなく味が落ちるのであまり使いたくない。

紙のまずさは目を瞑るとして、紙巻のいいところはすぐ吸えるし味が安定していること。専らアメスピターコイズとペリックを代わる代わる吸っている感じ。ところでターコイズとペリックはどう違うんだということで、備忘のため記しておこう。

アメスピターコイズはヴァージニアの香りが濃厚で、吸っててすごいうまい。ヴァージニアの甘い香りと程よい辛味、そして豊富な煙量のせいもあり癖になる。ただ、ヴァージニアってどの銘柄にも言えるのですが、吸い続けると飽きる。そんな時はペリックを買ってみるとまた違った味わいを楽しめる。

ペリックも基本ヴァージニアなのですが、そこに酸味のような香りが混ざってきて、総合すると複雑な味を感じます。その分ヴァージニア感が弱く、本数が進むと、あ、もうちょっとヴァージニア感じたいな、となり、次はターコイズを買ってしまうと。

ただねぇ、一箱 520 円って高すぎだ。加湿できる環境ならわかばも悪くない。ヴァージニアを満喫できる。poor man's アメスピだと思う。

 

@selector() で指定する method で、引数がある場合

selector 内で method を指定する時、引数として何か渡したい時はどうするか。引数が 1 つしかないなら、“:”を書くだけで OK。次のような感じ・・・

    UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImageView:)];

 

実際に、selector で指定している method はどうなっているのかというと、次のような感じ・・・

- (void) tapImageView:(id)tapping

 

selector 内では、実引数を書く必要がないのがなんともわかりにくいところなのですが、これでうまく動くので、objective-c の言語仕様ということで覚えておきます。

 

ちなみに、method で指定した tapping の型は魔法の id としましたが、より丁寧に書くなら、UITouch* になると。