STUDiO405

趣味のスノーボードやSK8、キャンプ、山登り、iOSアプリ開発関連のブログになる予定

関数の引数に関数を渡す時の構文について

Swift勉強中によく分からなかったので調べてみました。

写経して分からなかったのは以下のサイトに記載の例文。
Swift実践入門 〜 今からはじめるiOSアプリ開発! 基本文法を押さえて、簡単な電卓を作ってみよう - エンジニアHub|若手Webエンジニアのキャリアを考える!

func numbersMap(list: [Int], condition: (Int) -> Int) -> [Int] {
var numbers: [Int] = []
for item in list {
numbers.append( condition(item) )
}
return numbers
}

var items: [Int] = [1, 2, 3, 4, 5]
numbersMap(list: items, condition: { (number: Int) -> Int in number * 2 })

これの引数conditionの { (number: Int) -> Int in number * 2 }の中のin句以降。
ググっても分からず、手持ちの詳解Swiftを調べてみた。

詳解 Swift 改訂版

詳解 Swift 改訂版

こちらは古いので以下のものが最新版です。

関数のとこ見ても書いてない。。。
でもなんか見たことあるなぁと思い、目次を見てたらクロージャって単語が。
これかも?と見たら( ゚д゚)ビンゴーでした。

inの後は実行文とのこと。
Objective-Cの頃からクロージャが理解できず苦手だったので全く見当もつかなかったです(´・ω・`)

上記の例文だと
{ (引数名 : 型) -> 戻り値の型 in 実行文 }
ということになります。
今回の例文だと引数numberの値を2倍にするという無名関数ということになります。*1
 
はースッキリ。
しかし前回勉強してから数ヶ月とかざらにあるのでなかなか覚えられない。
そろそろSwift覚えなきゃと思いつつ他の趣味とか仕事が忙しかったりで進んでないのはもうダメでしょ。
ということで自作アプリをSwiftで書き換える作業をしながら覚えることにしました。
もう手を動かして苦労しないと覚えられん。。。
 
 
本題はここまで。
以下、告知とか雑文です。
 
GW中に自作アプリのアップデート版のメインの実装を終え、週末にちょっとずつ改善を進めていったアプリがリリースされました!

Remaining

Remaining

  • STUDiO405
  • 仕事効率化
  • ¥120
今回の目玉は月単位でしかやりたいことの進捗を管理できなかったんですが、日/週/月/任意の間隔/指定期日までのパターンで管理できるようになりました!!
ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ
 
 
話はまた変わって先日、自分がギターを始めるきっかけとなったBOØWYのライブアルバムが発売され早速ゲットしました。
当時はVHSで見てたんですが、布袋氏のカッコ良いステージングを見てこれはやるしかない!!とギターを買い、バンドやってるクラスメイトやそのバンドメンバーに教えてもらったりしてな思い出が。
懐かしいなぁ。。。
でも今では弾く回数激減なので腕は上がってません。
人前ではまだ弾くのが恥ずかしいです(;・∀・)

"GIGS" CASE OF BOφWY -THE ORIGINAL-(完全限定盤)(4CD+Tシャツ+ステッカー)

*1:追記 上記のサイトの次のとこに書いてありました...よく読んでからブログ書けよ>俺 まぁ備忘録だからいいよねw

CocoaPodsで導入したライブラリの更新有無の確認方法

Qiitaで先に記事書いちゃったので転載ですw


自作アプリでCocoaPodsでいくつかライブラリを導入しているのですが、いちいち各ライブラリの更新を確認するのめんどくさいなぁと思ってググってみました。


やはりありました。先人のおかげで助かりますです。
検索結果で最初に目に入ったのはQiitaの記事でした。


こちらの記事です。
qiita.com


これでめんどくさいことやらずに済んだ!と喜び勇んで記事に記載されていたにコマンドを実行しました。
少し待っていると...
ログをいっぱい吐き出して終了。
ログの内容を見たら、エラーメッセージっぽいのが目に留まったのでよく見てみると...


以下のようなメッセージが何回か出力されてました。
LoadError - cannot load such file -- nanaimo


どうやら「nanaimo」ってファイルが読み込めないようです。
またグーグル先生に問い合わせです。
検索は「pod outdated cannot load such file nanamio」でやってみました。


するとCocoaPodsのIssuesのページが最初にヒットしたので中を読んでみました。
まずは「nanaimo」をインストールしてみました。


以下のコマンドを実行
sudo gem install nanaimo


処理終了後にまた確認コマンドを実行しました。
が、またもや同じエラーが...


先ほどのCocoaPodsのIssuesの続きから最後まで読みました
結果、一番最後のコメントにあったコマンド全て実行ののち、確認コマンドを実行したらうまくいきました!
(お恥ずかしい最後まで読んでませんでした:(;゙゚'ω゚'):ダメですね)
該当のコメント
github.com


一応そのコマンド実行のログ置いときますね。

sudo gem uninstall nanaimo

You have requested to uninstall the gem:
nanaimo-0.2.3

xcodeproj-1.4.1 depends on nanaimo (~> 0.2.0)
If you remove this gem, these dependencies will not be met.
Continue with Uninstall? [yN] y
Successfully uninstalled nanaimo-0.2.3

sudo gem install nanaimo
Fetching: nanaimo-0.2.3.gem (100%)
Successfully installed nanaimo-0.2.3
Parsing documentation for nanaimo-0.2.3
Installing ri documentation for nanaimo-0.2.3
1 gem installed

pod install -> enjoy
pod outdated


以上です。

ジョギングのお供にポケモンGoでどうなった?

今までよりも少しは長い距離走れるんじゃないのか?と軽いノリというか、
ポケモンGoをやりたいのでNike+と一緒に起動して今朝走ってきました。


走り始めで近所にポケストップを見つけてしまい。
1km以内で3回、その後数km以内で2回ほどポケモンGoを起動。
最後の方で住宅街を走ったので数回起動。


懸念してたことが現実に。
全くジョギングに集中できないw
ポケストップありそうな公園などのランドマークあれば止まって確認しちゃうし、
バイブなったらポケモンハントだしw
リズム乱れる。。。


それから先はポケストップがジョギングコース上にほぼなし。
川と田んぼばかりの田舎ですから。
おかげでジョギングがはかどりましたけどw


しかし、ポケモンGoがやりたくて仕方がない状態で家を出てしまい、忘れ物をしてしまいました。
ジョギングのお供にイヤフォンで走行時間、距離、ペースを1km毎にNike+から情報を得ていたんですが、
いちいちiPhoneをバッグから取り出して確認するのは面倒です。
(ポケモンGoは例外ですw)
このため情報が得られずにいつもより早いペースで走ってしまいました。
ポケストップ途中全然ないですしw
落ち着いて行動しないとダメですねw


なんやかんや言ってますけど、そこそこのペースで16km走ってきました。
最後は疲労と若干の痛みでペース落ちましたけど。

最後にクリーダウンと称して歩きで近所のポケストップを2ヶ所回って終了。


ジョギングに集中したいならダメですねw
あと住んでる場所は田舎なのでポケストップ少ないです。
Ingressをちょっとの間やってたんですけど、ポータルとポケストップの場所が知ってる範囲では完全一致してますね。


帰ってきたあとは、車検から戻ってきた車をゲットしに嫁とディーラーへ。
嫁もニュースなどで気になってたみたいで、自分もやってるのもありインストールしてました。
行く途中、ピカチューのゲットの方法やポケストップやモンスターボールのことなどを教えながら歩いて行きました。
車を受け取った後も買い物しながら途中でポケストップに寄ったりして夫婦で楽しんでましたねw
しかし、寄り道が多くなるので生鮮食品購入後はお勧めできませんw


午後もポケモンハントしようかなw
Ingressよりわかりやすいので楽しいです。そのうち飽きると思いますけどw
外ではポケモンGo、家ではウイクラで久々のゲーム三昧ですw
あぁ、ニートになりたいw

Pokémon GO

Pokémon GO

Nike+ Running

Nike+ Running

  • Nike, Inc.
  • ヘルスケア/フィットネス
  • 無料

今更ながらiPad Air2を購入しました


以前は用途が全く思いつかず、タブレットiPhone用アプリ作った時に実機確認のためだけにあればいいかなぁと思ってました。その用途だとお金出してまではいらんなと。


最近、妻がクックパッドとか見れたらいいなぁとか自分がKindle本買ってiPhone6 Plusだと読みにくいと思い、購入と決意しました。6月末まで24回払いなら金利無料ですし。
ということで、購入と成りました。


先週末に意思を決めてポチッと!
ショッピンローンに提携のOricoで申し込みとなったんですが、
確認メールが来たので内容を見ただけでSafariを閉じました。

これが原因で1週間経ってもローンの審査中のまま。。。
おかしいと思い、ググってみたらこんな記事を見つけて...
と確認したらドメイン失効されたようで記事が見えれませんw

説明するとメールにあった確認リンク先でボタンがあったのですが、
それを押さないとローン申込みが完了しないようでした。

今は見れない記事と同じように金曜の夜に対処したらすぐに無事審査が通りました。
サイトの内容を最後まで見ないとダメっすね(;・∀・)


審査完了後、すぐに出荷手続きとなったようで日曜の午前中にiPadが到着。
初めて整備品を購入したんんですが、パッケージが新品と違うんですね。
(冒頭の写真参照)
まぁ気にならないですけど。5千円くらい安いですし。


あ、購入したのはiPad Air2 WiFi 64GBモデルです。
Celluarモデル買って格安SIM刺そうかなと思ってたんですが、
あんまり通信しないだろうなぁと思いWiFiモデルに変更しました。


店頭では持ったことあるんですが、常に充電&盗難防止でケーブルがついてて
正確な重さを体験できませんでした。
今回持ってみて感じたことはやっぱ軽くないw
長時間持つのは厳しいですねぇ。
正直iPad mini2、mini4と検討してたんですが、
座って使う機会がほとんどなので大きい方がいいかとAir2になりました。


自分の用途は主にKindleで読書、妻はクックパッド、
子どもはあんま触らせないにしようかなw
Kindleアプリ起動して開発本とかマンガ少し見ましたが、見やすいですね!
全然使ってなかったアプリの大辞林も使いそうです。
ま、iPhoneと比べてはいけないんですが。
これだけで今の所満足です。


あとケースとかフィルムまだ買ってないのでこれから検討しないと。
何がいいかなー?
純正ケースは安くないし(一緒に購入すれば良かったと思ったのは内緒)、
あんまり安いとすぐダメになりそうだし。さてどうしよ?
純正以外でオススメあれば教えてくださ〜い!

詳解 Swift 改訂版(Kindle版)を購入しました

久々に開発本購入しました。今回はタイトル通り詳解 Swift 改訂版です。
(注) 本記事は書籍レビューではありません。


スノーシーズンも終了し、ようやっとアプリ開発へのモチベーションが少し上がってきたのでSwiftの勉強を再開しました。
最初はネットで見つけたAppleSwiftチュートリアルを翻訳してたサイトを見ながらPlaygroundでコードを写経しながら。

しかし、ところどころ読んでも意味がわからない、例題出されてコンパイルエラー出てどうやってやるのか分からないなど出てきました。
やはり文法を理解するのに本買った方がいいと考え、以下の2つに絞りました。

詳解 Swift 改訂版

詳解 Swift 改訂版

Swift 2標準ガイドブック 【Swift 2.1対応版】

Swift 2標準ガイドブック 【Swift 2.1対応版】

詳解 Swiftの著者の萩原氏が書いた詳解 Objective-C 2.0を読んだことがあリました。
その時はまだiOSアプリ開発もオブジェクト指向プログラミングも分かっていない状態で読んでいたので、途中からよく眠くなる本という認識がありました(;・∀・)


どっちにしようかなぁとSNSで背中を押してもらうためにつぶやいていたら萩原本を推薦されたのとブログでのレビュー、Amazonのレビューを見て詳解 Swift 改訂版のKindle版をポチりました。


まだ読み終わってないのですが、今までの経験もあるのか詳解 Objective-C 2.0の時よりは頭に入っていきます。ここのところ???となることも出てきましたが、何度か読み直せばいいかなぁと。


それと写経で何かサンプルコード打ちまくって改造しても並行してやったほうがいいなと最近思い始めました。
コード打って、本読み返すと理解が深まることもありそうですし。
何かオススメのサンプルソースありますかね?
本家のサンプルコード写経しようかな?
GitHubで公開しているライブラリ見るのもいいかも。



で、AmazonAmazon.co.jp: 【半額】春のプログラミング入門書フェア(4/28まで): Kindleストア
をやってたので悩みに悩んでこれを買いました。しかも今朝w
記事書いている時点でもまだ半額でした。いつ終わるの?w

Code Complete 第2版 上 完全なプログラミングを目指して

Code Complete 第2版 上 完全なプログラミングを目指して

GW中は詳解SwiftとCode Completeを読もうと思います。
Code Completeの下巻は今度セールやったときにでも。。。
おこづかい制だし、今月のカードの引き落とし多いし。。。orz


あと既存のiOSアプリをSwiftで書き換え&アップデートしようと検討してます。
お仕事でiOSアプリやってるわけではないので遅々として進まない可能性ありですが。
いつか仕事でやる機会出てくるんだろうか。。。?
今の会社じゃないだろうなぁ。。。
転職は年齢的にアレだし。。。

2016 Season Day 7 裏磐梯猫魔スキー場 2016.03.26

f:id:singo405:20160326102540j:plain
いつものように家族と行ってきました。
暖冬だしSK8熱高まってるので今回で滑り納めかもなぁと思いながら滑ってきました。

着いたら雪が舞ってました。気温が低かったようで雪面はそこそこ硬め。
場所によってはいい音してました。ガリガリ。

午前中は家族と一緒にフリーラン。
家族にオーリーやテールマニュアル、ノーズプレスを教えて、アドバイスして。
子どもはまた上達してました。オーリーが割と出来てる。
嫁はオーリーはまだ出来ず両足ジャンプ。ぴょこん!
それを見てた子どもはドヤ顔でこうやるんだよ!ってお手本見せてましたw
調子乗りすぎw
f:id:singo405:20160326101725j:plain
グラトリしてると暑い。。。
お昼頃は太陽が顔を出し、一挙に春モードへ。。。
日陰は硬かったですけど。


午後は家族と別れパークへ。
初心者向けの3連キッカーとBOXで練習。
最初のうちはヒールに乗りそうで怖かったですけど、徐々に慣れてきたところで疲労感があったのでやめました。もっと練習したかったけど。
家族と合流し、1本一緒に滑って家族は終了。
自分は2本滑って終了しました。
シーズン終了か確定してないけど、お疲れ山でした!
f:id:singo405:20160326112210j:plain


でも滑るとやっぱまた滑りに行きたくなります。
4月どうしようかなぁ。9日以降でないと行けないからヒトリストの場合は群馬かな。
たんばら、丸沼、天神平のうちどれかですかね。
一緒に行く人が数人いれば相乗りできるから福島でも新潟でも行けるけど誰かいるかな?
 

SnowTracks

SnowTracks

  • STUDiO405
  • スポーツ
  • 無料

2016 Season Day 6 川場スキー場 2016.03.12


数年ぶりに群馬のスキー場へ。今回は川場スキー場に行ってきました。
今シーズン初の家族なしで友達との滑走です。
泊まりのメンバーが多いなか自分は翌日に用事があるので現地まで下道で一人で移動。
普段行く福島と比べて100km程度短い。楽だなw


グーグル先生に時々地元の人しか通らんだろ?ってような道を進み、今の時期なら大丈夫でしょうとの自己判断で沼田大間々線の峠越えルートで川場スキー場を目指しました。

沼田大間々線は片側一車線の山道でしたが、ところどころ勾配急だし凍結してたんで真冬は行きたくないですね。
昔と比べて道は良くなったと聞きましたが。FFだときついかも。

天候は群馬入ったあたりから雨、赤城山近くでは雪になってました。
川場スキー場は朝は雪&ガス、午後は少し晴れ間も見えたって感じでしたね。


ゲレンデの雪面は昨晩より降ってた雪が少し積もってましたが、その下はカチコチです。いい音をたてますw
今回一緒に滑った友達とは人によっては10年以上の付き合いです。
年に1回に会うか会わないかで、会ったとしても居酒屋かお祝い事のパーティーでw
一緒に滑るなんて何年ぶりかしら?

結婚してからは滑走日数が減り、サンデーファミリーボーダーと化していたので、ついていけるかなぁと少し心配。
滑るだけならなんとかついてはいけるけど、パークはやっぱ恐怖心がまだあるので捲られたりしてケツ打ったりしました。。。
精進せねば。。。

昼休憩も楽しい会話を聞きながら良い時間を過ごせました。
やっぱ友達と滑るのって楽しい。もっと上手くなりたいって思う。


帰りはまた一人で下道で。
行きとは違うルートを選択し、武尊牧場によく行ってた時に使った山沿いルートや17号の上武道路を走ったり。
変わらないとこもあったし道が変わったり延伸してたり。下道運転も楽しい。


遅くまで滑らなかったので片付け、風呂してビール飲み始めたのが21時台。
お尻が少し痛いので確認したら少しアザになってました。カチコチ怖い。
今日は何度かコケた影響で首も少し痛いです。


今回の川場スキー場もブッシュや木が目立ち、今シーズンは少ないなぁと。
他のゲレンデも少ないとの話も聞きますし、今シーズンの終了は早そうです。
あと1〜2回で終了かな?
早割残ってるので裏磐梯猫魔スキー場には1回は行くのは確定ですが。


SnowTracks

SnowTracks

  • STUDiO405
  • スポーツ
  • 無料