NSArrayのソート方法 (NSSortDescriptorを使って)

NSArrayのソート方法は色々あるんですけど、その中でNSSortDescriptorを使った方法をメモっておきます。
この方法はオブジェクトのプロパティ値の単純比較でソート出来る時に有効ですよ。

プロパティに「ValA」「ValB」があるオブジェクトを、ValAの昇順+ValBの降順でソートするサンプルです。


NSSortDescriptor* sortA = [[[NSSortDescriptor alloc]initWithKey:@"ValA" ascending:YES]autorelease];
NSSortDescriptor* sortB = [[[NSSortDescriptor alloc]initWithKey:@"ValB" ascending:NO]autorelease];

[_dataArray sortUsingDescriptors:@[sortA, sortB]];

※@[ A , B ] の記述はNSArrayを作成する記述です

この例のように “sortUsingDescriptors:” を使った場合にはレシーバー内の要素がソートされますし、”sortedArrayUsingDescriptors:” を使えばソート済のNSArrayが返されます。

ホリ牧場の馬

河北潟そばにあるホリ牧場に行ってみました。

馬の瞳は優しいですね。
馬

これは世界平和とか願ってる瞳ですね。たぶん。
ウマ

この子はなんだか上目使いで挑発的ですね。
ポニー

しかし、なにより天候が残念すぎました。
馬

次回はひまわりの撮影がてら、いいお天気の時に再訪問したいと思います。

花とか実とか

週末ぶらぶらしてた時にたまたま見かけた花畑
IMG_6753.jpg
「ヒメジョオン」って言う花らしいです。(twitterで教えてもらいました)

クチナシだよね???
IMG_6721.jpg

あと、何かの実です
IMG_6716.jpg

なぜか右側の玉ボケにひびが入っています。
Twitterでの情報ですと、玉ボケの元となった穴がピンホールの役目をして、
その穴から見えた枝or茎にたまたまピントが合った珍しい写真じゃないかと。

そう言われると、この邪魔はヒビもなんだか貴重に見えてきますね。(笑)

セミの抜け殻発見!

週末にハス以外にもいろいろ撮ってきたので順番にUPしていきたいと思います。

これは北部公園を散歩してたら発見したものです。

ただの抜け殻なのにこの存在感!
セミの抜け殻

セミの抜け殻

見つけた後、気が付きましたがいつの間にかセミって鳴いているんですね。

[WPF]押下するとイメージが切り替わるボタンの作り方

押下時にイメージが切り替わるボタンって頻繁に使うと思うのですが、標準では無いですよね??
xamlいじればできるのはわかるのですが、これくらいは用意してくれてても。。とか思ったりして。
色々調べるの面倒っす。

愚痴はおいておいて、イメージが切り替わるボタンのサンプルです。
最初にxaml内にControlTemplateを定義します。

<Window.Resources>

<ControlTemplate x:Key="buttonTemplate" TargetType="Button">
    <Border Name="border" BorderThickness="0" BorderBrush="Transparent">
        <Border.Background>
            <ImageBrush ImageSource="普段のイメージ.png" />
        </Border.Background>
        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
    </Border>
    <ControlTemplate.Triggers>
        <Trigger Property="IsPressed" Value="True">
            <Setter TargetName="border" Property="Background" >
                <Setter.Value>
                    <ImageBrush ImageSource="押下された時のイメージ.png" />
                </Setter.Value>
            </Setter>
        </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>

</Window.Resources>

ちょっと説明しますと、ボタンの表示をBorderコントロールで行うようにして、そのBackgroundイメージを
プロパティトリガーにより切り替えるようにしています。

で、これをButtonに設定すればOKです。
こんな感じですね。

<Button  Height="90" Width="90"  Template="{StaticResource buttonTemplate}"/>

Buttonのタグ内に直接記述する場合には下記のようになります。

<Button Height="90" Width="90" >
<Button.Template>

    <ControlTemplate  TargetType="Button">
        <Border Name="border" BorderThickness="0" BorderBrush="Transparent">
            <Border.Background>
                <ImageBrush ImageSource="普段のイメージ.png" />
            </Border.Background>
            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
        </Border>
        <ControlTemplate.Triggers>
            <Trigger Property="IsPressed" Value="True">
                <Setter TargetName="border" Property="Background" >
                    <Setter.Value>
                        <ImageBrush ImageSource="押下された時のイメージ.png" />
                    </Setter.Value>
                </Setter>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

</Button.Template>
</Button>

スタイルを書き換えても対応出来そうだったのですが、どうしても上手くいかなかったので
テンプレートを使って対応しました。

あ、そうそう、「IsChecked」に対してのTriggerを追加すればトグルボタンになりますよ。

以上

花ハス こなん水辺公園(再再度挑戦 その2)

自宅に帰り、びしょびしょになった服を着替えてコーヒーで一服していると、天候が回復してきたではないですか。
なんちゅー雨男!

よし、もう一回いってやる!
ということで再度、こなん水辺公園へ!

今回は念のため傘を持ってハス田へ向かいました。

先ほどの雨でしずくだらけです。
IMG_6701.jpg

8時頃なのでつぼみはほとんど開いています。
なるほど、これくらいの時間帯なのですね。
IMG_6687.jpg

丸いハスをアップで
IMG_6654.jpg

ハスはやっぱりキレイですなぁ
IMG_6693.jpg

IMG_6696.jpg

白いハスをローキーで
IMG_6672.jpg
この淡い色のハスがお気に入りです。

花ハス こなん水辺公園(再再度挑戦 その1)

昨日撮ったハス田に翌日も行ってきました。

今度は7時からの撮影です。

でもね、大変だったんです。

到着した時点ではいいお天気で撮影日和。
バス釣り大会も隣の用水で開かれていたようで、ご家族連れの方も多く、何時もの雰囲気とは打って変わって賑やかでした。

まぁ、数ショット撮影したわけです。

こんなのとか
IMG_6637.jpg

こんなのとか
IMG_6632.jpg

ハイキーでこんなのとか
IMG_6627.jpg

この調子でどんどんいくよーと思っていた矢先、急に空が暗くなったと思ったらいきなりの土砂降り!
本当に1分もかからずに天候が変わっていきましたよ。

ヤバイと思い、ハス田から公園の管理棟まで猛ダッシュ!
自分は全身びしょびしょ、カメラも結構濡れてしまいました。

10m先が見えないほどの土砂降りでした。
このまま帰るにしても少し雨脚が弱まるのを待つため、管理棟で雨宿りしてたのですが、
その軒下でこんなのを発見
たまにはこういうのも良いなと思ったり、思わなかったり。
IMG_6641.jpg

IMG_6642.jpg

まぁ、そんなこんなでとりあえずいったん帰宅したわけです。