名言アドベントカレンダー
名言アドベントカレンダー23日目の記事です。
紹介する名言はこちらです。
練習は嘘をつかないって言葉があるけど、頭を使って練習しないと普通に嘘つくよ。
— ダルビッシュ有(Yu Darvish) (@faridyu) 2010, 6月 11
Twitterなのでダルビッシュ選手は軽い気持ちで投稿したかもしれません。
ですが非常に重い言葉だと思います。
ただ長時間やる事が目的の練習や疲れて練習した感がでるだけの練習(スポーツの場合の脳筋的な?)ではなく何が目的でなぜこの練習をするのか、何を意識しながら練習すれば良いのかを考えてやろうという事でしょうか。
「努力は嘘をつかない」や「努力は必ず報われる」といった努力論とダルビッシュ選手の努力論。
どうなんですかねぇ。
EventSearch
EventSearchはイベントを検索できるアプリです。
以下の4つのサービスに対応しています。
- connpass
- Doorkeeper
- ATND
- Zusaar
機能
- キーワード、日付検索
- イベントストック
- イベント開催地表示
使い方
画面上部のEventSearchボタンをタップすると検索することができます。
検索結果をロングタップするとストックすることができます。
検索するサービスを選択可能です。
その他
指定された日付から一年後までのイベントが検索結果として表示されます。
それ以降を検索したい場合は検索条件の日付欄でに知りたい日付の一年前以降を設定し検索してださい。
MKMapViewでバルーン(callout)を最初から表示する
MKMapViewでバルーン(callout)を最初から表示する方法です。
MKMapViewのデリゲートメソッド
mapView(_:didAddAnnotationViews:)
内で追加したannotationのcalloutを表示するだけです。例では最後に追加したMKAnnotationViewのannotationのcalloutを表示しています。
func mapView(mapView: MKMapView, didAddAnnotationViews views: [MKAnnotationView]) { if let annotation = views.last?.annotation { mapView.selectAnnotation(annotation, animated: true) } }
Swiftで2つの配列を同時にIterate
swiftで2つの配列を同時にfor文で処理したい時は以下のようにする。
let array1 = [1,2,3,4] let array2 = [5,6,7,8] for (a1, a2) in Zip2Sequence(array1,array2) { print(a1) print(a2) }
Rxの関数を図で見る
ReactiveProgrammingを導入するためにはmap,filter等の様々な関数を理解する必要があるのでコストが高いです。
それぞれの関数がどういった動作をするのかはまずは公式をみるべしです。
こちらのサイトでは公式の図にあるObservableを自分で動かす事ができます。
少し理解しやすくなっていると思います。なによりおもしろい。rxmarbles.com