カエル祭りだー!

週末に北部公園でカメラ片手にお散歩してきました。
この日は前日に雨が降ったこともあって、多くのカエル君たちに出会えましたよ。

木に張り付いているカエル君。
上手に木にのぼりますね~
アマガエル

もういっちょ
アマガエル

一気に4匹ゲット!
アマガエル
カエルだらけです(笑

ちょっと横からパシャリ
アマガエル

擬態のためか、色を薄くしているカエル君
アマガエル

この子はかなり頑張って擬態していますね。
IMG_8281.jpg

でも、私のカエルセンサーを騙すことはできませんよ(笑

木のスキマに挟まってお休みしていたカエルを撮ろうとしたら、
もがきながら逃げ出しました(笑
アマガエル

逃げ出した後の恨めしそうな表情
アマガエル
なんだよ、もう。。ってゴメンね。

最後にこの子
IMG_8221.jpg
EF100mmF2.8Lのフードにあたりそうなほど近づいても逃げない良い子でした。

夏の兼六園

猛暑の中、兼六園に行って来ました。

今回初めて知ったのですけど、石川県在住の方は土日に限り無料で入場できるんですね!
今までずーっと300円払って入場してました。もっと早く気づけばよかった(苦笑

有名どころから、ことじ灯籠です
ことじ灯籠
 
根上の松
根上の松
 
内橋亭(たぶん)
内橋亭

兼六園には日本庭園らしくコケも色々生えているんですけど、よく見ると花みたいな物が咲いていました。
IMG_8106.jpg
ピンクの小さいやつ。これ花なんですかね?

園内を流れるせせらぎ
IMG_8062.jpg
IMG_8099.jpg

この日はお盆休みで太った分を取り返そうと思い、自宅から兼六園までカメラ片手に歩いて訪れたんですけど汗だくでの撮影でした。
普段は問題無い重さの EOS6D とレンズたちですが、やたらと重く感じましたよ(苦

最後におまけ
IMG_8189.jpg
・・題名「あいーん!」

NSNotificationCenterを使った通知のサンプル

オブジェクト間で通信、通知を行いたい事って頻繁にありますよね。
解決方法として色んなパターンがあると思いますが、cocoaフレームワークには大変便利な通知システムが用意されています。

使い方も簡単で、しかもオブジェクト間の関連性が薄いので大変使いやすいです。

通知は文字列の名称を使って識別されますので、ヘッダに定数を宣言しておきます。
通知を発行するクラスのヘッダに書くのが良いのではないでしょうか?

#define kDataManagerFinishLoading @"DataManagerFinishLoadingMsgKey"

通知を発行する側はこんな感じで簡単に通知できます。

// 引き渡しパラメータの作成
// Dictionaryでなんでも渡せます
NSDictionary* info = @{ 
  @"date":[NSDate date],
  @"title":@"目くじら", 
  @"count":[NSNumber numberWithInt:12] 
};

// 通知                    
[[NSNotificationCenter defaultCenter] 
    postNotificationName:kDataManagerFinishLoading  
    object:self 
    userInfo:info];

通知を受け取る側のコードはこんな感じです

最初に、NSNotificationCenter に通知の監視を登録します。
self.dataManagerってのが通知を発行するオブジェクトで、通知を受け取るオブジェクトがselfだとすると。

[[NSNotificationCenter defaultCenter] 
    addObserver:self 
    selector:@selector(handleDataManagerFinishLoading:) //←通知を受け取るセレクタ
    name:kDataManagerFinishLoading 
    object:self.dataManager];

受け取った時の処理を書いておきます

// kDataManagerFinishLoading の通知ハンドラ
-(void)handleDataManagerFinishLoading:(NSNotification *)aNotification
{
    //userInfoはDictionaryなので色んな情報を受け取る事ができます。   
    NSDate* date = [[aNotification userInfo] objectForKey:@"date"];
    NSString* title = [[aNotification userInfo] objectForKey:@"title"];
    NSNumber* count = [[aNotification userInfo] objectForKey:@"count"];
    
    //なにかしら処理

}

通知が不要になったら解除しておきます。
dealloc等に書いておくのがよいのではないでしょうか?

[[NSNotificationCenter defaultCenter] removeObserver:self];

以上

万灯会 – 倶利伽羅不動(その2)

前回に引き続いて倶利伽羅不動で行われた万灯会の写真を紹介します。

これもお気に入りの写真です。
IMG_8023.jpg
ありきたりですが、反射っていいですよね(笑

砂紋もライトアップされています
IMG_7937.jpg

お地蔵様も柔らかい光に包まれて
IMG_8035.jpg
IMG_7921.jpg

いたるところがこんな優しい光に包まれて、幻想的な雰囲気です
IMG_7811.jpg

本当に1万くらいは明かりがあったのではないでしょうか?
IMG_7934.jpg

水面への反射をもういっちょ
IMG_7996.jpg

万灯会、本当に素敵な催しでした。
来年も是非訪れたいと思います。

万灯会 – 倶利伽羅不動(その1)

毎年8月15日に開催されている万灯会に行ってきました。
初めての万灯会で、かってが分からなかったのですけど、右往左往しながら撮って来ましたよ。

場所は紫陽花や四季を通じて色んな花が楽しめる倶利伽羅不動です。

車で訪れたのですが、臨時の駐車場に車を止めて、バスで倶利伽羅不動まで移動します。
訪れた人には分かると思いますが、道の駅から倶利伽羅不動までのほんの数百メートルだけのバス移動です。
普段はそれほど人が多い場所ではないのですけど、この日はかなりの人出でした。

三脚を立てて良いのか、ちょっと不安だったのですが皆さん三脚を立てて撮影されていたので、
心置きなく三脚で撮影しました。
(と言っても、同じ場所を占領はしないように気をつけましたよ。)

最初に、一番気に入った写真です。
万灯会
本堂の前に池があるのですが、この日は風も無く綺麗に映り込んでくれました。

灯籠が池に浮かべられ、風に吹かれて流れてゆきます
IMG_7957.jpg

こんなドライアイスの演出があったりもします。
IMG_7842.jpg

池には蓮の葉に浮かべられています
IMG_7815.jpg

手水舎もこんな感じにライトアップ
IMG_7939.jpg

炎もなんだかいつもと違って見えました
IMG_7900.jpg

なぜかトトロも居たりします(笑
IMG_7922.jpg

まだまだあります、続きは次回に。

オブジェクトのプロパティを監視する

あるオブジェクトのプロパティ値が変更された時に何かしら処理を行いたい場合のサンプルです。

対象オブジェクト objA が title というプロパティを持っている場合を例とすると下記のような感じです。

objAにプロパティの変更通知を登録 (objAを生成したタイミングなどで)

// 
[objA addObserver:self forKeyPath:@"title" options:NSKeyValueObservingOptionNew context:NULL];

通知はaddObserverで登録したオブジェクトの下記のメソッドが呼び出されます

// 監視対象が変更された時に呼び出されるコールバック
- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object 
			change:(NSDictionary *)change 
		       context:(void *)context
{
    if ([keyPath isEqual:@"title"])
    {
	NSString* newTitle = [[change objectForKey:NSKeyValueChangeNewKey] stringValue];
        NSLog(@"newTitle :%@", newTitle);

        //変更された時の処理を書く

    }
}

通知が不要となったら登録を解除 (objAを廃棄する前に実行します)

//
[objA removeObserver:self forKeyPath:@"title" context:NULL];

cocoaフレームワーク、、便利過ぎる。。