UIImagePickerで画像の取得できない問題

新年あけましておめでとうございます!
2019年は20代ラストイヤーを迎えます!
成長をテーマに進んできた2018年でした。
2019年は「伸長」をテーマとし、今まで培ってきたものを膨らませつつ、
自分のやりたかったことにも少しずつ手を伸ばしていきたいなと考えてます。
本年もどうぞよろしくお願いいたします。

本日のお話

さて、新年の挨拶もさることながら、2018年からつまづいていたエラーの解決に向けて。
2018年の11月以降は引っ越しやらなんやらで忙しく、引っ越した今もとっても部屋が狭いです(荷ほどき的な意味で)

そんな中、新年も明けたことだしと暇を持て余していました。
それで大量のダンボールからプライベートMacを引っ張り出してきました!
(人生初明治神宮に行ってきましたo(^▽^)o)
引っ越し前に発生していたエラーを2か月ちょっと放置していたので、着手。

それは、UIImagePickerでの画像取得ができない! ことでした。

エラーは?

Error Domain=PlugInKit Code=13 "query cancelled" UserInfo={NSLocalizedDescription=query cancelled}

え、君誰?ってかんじじゃないですか?
ググっても出てこないし、なにそれ( ・∇・)。。。メッチャコマル

結局のところ?

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    // logic
}

で処理を書いていたのですが、正しくは

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    // logic
}

だったということですね。
エラー文と、画像の取得ができなかったことに相関はありませんでした。

参考にさせていただきました

studio.beatnix.co.jp

harukiyasui.com

_BSMatchErrorが出た時

UIDatePickerとToolBarを使っている時にUIDatePickerに表示される物がおかしく、コンソールを見ると
_BSMachError: (os/kern) invalid capability と出てたのでググって見ました。

info.plistのLocalization native development regionをJapanに変えたら日本表記のものに戻りました(⌒▽⌒)メデタシメデタシ

参考にさせていただきました

qiita.com

閉じるボタンの作成

modalで出した時に、閉じるボタンをつけたい場合。

  1. ボタンを設置する
  2. StoryboardからControllerにctrl + DDでBIActionの設定
  3. Actionメソッドに以下コードを埋め込む
self.dismiss(animated: true, completion: nil)

これでModal側のページは閉じることができます(⌒▽⌒)

技術書典5に行ってきた☆

10/8 11:00より、エンジニアのエンジニアによるエンジニアのための祭典

技術書典5に行ってきました〜〜(パチパチ👏)


f:id:casa_jpn:20181013015650j:plain

いきなり出口ですが。
私はだいたい11:30くらいに会場に着きました(サンシャイン文化館遠かった・・) 11:10ごろにサンシャインに着いたのですが、急ぎすぎて息切れしてたんですね。
近道と思って行ったところでカフェがあったんです。 シアトルズベストのカフェが。

「たすかった・・・!!!(天の恵み!)」

と思ったわけですね。
余裕ブッこいてイタリアンソーダなんか飲みながら目の前であろう会場を目指すわけです。
そこから5分ほど歩いて会場の文化館へ到着。

「あれ?もう一般入場解放??あれ???」

これ、行列の空間が空いてただけなんですね☆
奥ですーって言われて最後尾という場所を目指します。

歩けど歩けど見当たらない最後尾に4列縦隊の行列
スマホで堂々列を撮影する人々
ツイッターを見ればぼかし加工されてないで顔がもろに出されている写真たち(顔面蒼白)
それを尻目に最後尾を目指すわたし

会場から600メートル近く並んでいたそうです。

しかも蛇行しながらなので実質はもっとありそう。
見渡す限り人人人!!

「早くて1時間はかかるな」


と踏んでいたのですが、案外30分も経たずに入場できました。(⁰▿⁰)ワーイ

目指すはmochikoさんのDNS/AWSをはじめよう かろてんさんのデザインパターンなのにエモい。 このお二方の書籍は絶対!何があっても絶対手に入れるぞ!という気持ちで臨みました。(溢れる運動部感)

ああ^^

人が、多い^^

ということで死ぬ気で人の流れに乗りながらなんとかもちこさんとかろてんさんの書籍をゲット〜〜〜(⁰▿⁰)


f:id:casa_jpn:20181013015240j:plain

ということで戦利品です。

楽しかった(⁰▿⁰)
ほとんど行列で見れなかったのですが次回こそはもっとみるぞー&BOOTH覗くぞ〜という気持ちでいっぱいです。
サークルとして参加された皆さん、業務等がある中執筆活動お疲れ様でした。m( )m
次回は自分も執筆側として参加できるように、今はアウトプットのためのインプットを頑張るぞ!という意欲をたくさんもらいました!。

双方向バインディング…?

HTMLのなかに、ng-model="hoge.fuga"のような物を見かけることがあるかもしれません。

ng-modelって?ng-ってなに?んぐって読むの…(´・ω・`)??


と困惑を隠せませんでした。
このng-xxxというのはAngularJSのngな訳でした。

そして、そもそもAngularの特徴を知らないまま開発を進めていたので、どういった特徴が…?
と気になりましたので調べてみました。

特徴

  1. MVC Model, View, Controllerと役割を分けて管理ができる仕組み。
    Ruby on RailsJavaでもあるので割愛します。

  2. 双方向データバインディング
    入力されたデータが自動的に画面に反映される仕組みのこと
    MVC とあったように、入力→処理→出力にはそれぞれプログラム上で処理を書く必要があったのを、Angularがよしなに取り計らってくれる仕組み。
    だそうです。

  3. コンポーネント 部品化することで再利用性を高めています。


    確かに、言われればわかるけど双方向データバインディングでとても苦しみました。
    現に苦しんでいるのでどうにかして解決していくぞ!
    ということで、Angularについて学びました(⁰▿⁰)

    参考にさせていただきました

    liruu.com www.sejuku.net