QR コードをスキャンする、認識できた QR コードを四角で囲む、のハマりどころ

ハマった〜

QR コードをスキャンするプログラムを作成していて、読み込むところまでは簡単・簡単、前作ったことあったのでコピペ、終了!と思ったら、読み込んだn QR コードを四角で囲むようにしたくなって、そこがうまくいかない。

二日間ぐらいハマって、ようやくできた。結局、四角で囲む、囲みを解除する、という一連の流れは main thread で実行するようにしないと円滑に動かないという、初歩的な動作原理を理解していなかったんだなと。main thread に持ってったらうまくいったよ。

あと、UIButton にカメラ画像を配置したかったんだけど、自作するしかないみたいね。使えるようにしてくれよ>Apple

 

removeFromSuperview: は該当する view が表示されていなくても大丈夫

button を押したら view を表示し、用が済んだら view を消す。

[self.view removeFromSuperview:hoge];

こんな感じで使うのですが、今回困ったのが、該当する view が表示されているのか表示されていないのかよくわからない状況で、removeFromSuperview しちゃったらどうなるかということ。

結論からすると、remove する対象となる view がなくても落ちることはない。

なので、remove しまくりでオッケーでした、よかったよかった。

なんでこんなことが必要になったかというと、

  1. button を押したら view を表示
  2. カメラを使って view に movie 表示

この view を消すときは、

  1. カメラを止める
  2. view を消す

という手順になるのですが、view を消す前にもっかいボタンを押したときのために、結局、view を表示する前に view を消してから表示にする必要が出てきて、初回 button を押したとき、view がないのに removeFromSuperview: が働いてしまうので、こりゃまずいかなと思ったんだけど大丈夫だった、という、説明するのがすごいわかりにくいなと。

iPhone 6s の電池交換

iPhone 6s をもう 3 年ぐらい使ってて、電池が持たない。通勤時電車で音楽聴いて会社までの歩きでポケモン go やったら時間にして一時間ぐらいなんだけど確実に電池がなくなる。12 月までは ¥3,000 で交換できたみたいだけど、予約とってなくて結局行けず、1 月になって予約することに。

アプリから予約するんだけど、どこも混み合ってて、一週間後に銀座の Appleが辛うじて取れた。あそこまで行くのめんどくセー。朝、もっかいアプリで見たら近所のキタムラの予約が取れて、しかも、日曜日の 15 時だけ空いてる。前日夜がダメでも、翌日朝見たらキャンセルが反映されるせいか空いていることあるのね。こりゃいいねって予約して交換してきた。

1h ぐらいで、即日交換はありがたい。以前は 1 万円ぐらいしたと思ったけど、6000 円いかないぐらいなんで、そこまで高くないかもしれない。電池 3000 円、技術料 3000 円という感じのようだ。

交換の手続き中、バックアップは取ったか確認されて、水没したことはないかも確認される。水没してないんですが。開けてみて水没してたら修理中止するとのことで、結構水没には厳しいんだなと。初めから防水にしろよ。また、アクセサリ全部取れとのことで、バンパー取ったらそれだけでは足りず、画面保護のガラスとボタンに貼った黒いシールも取れと。うっっどちらも糊付けしてあるから取れないのですが・・・交換後圧着するので取らないとダメだと。うーん困った。破棄していいならこちらでやりますとのことだったので、惜しいけど破棄することに。

仕上がってみたら薄く感じるし、ボタンの色が白になったので新鮮な感じがしてよかったかも。画面がベタベタしてたら嫌だなぁと思ってたけど、そんなこともなく、データも消えなかったのでラッキー。

今充電中なんだけど、これで電池が長持ちするようになるといいんだけど。

Xcode 10:結構変わったのね・・・

Xcode 10 で変わった点。Storyboard に object を配置しようとしたら、ライブラリのテンプレ?アイコン?がない。いろいろいじってたら、Show Library をメニューから選ぶと良いことがわかった。って、これ結構使うから初めから表示しておいてくれよ、ショートカットは shift + cmd + L で Library の頭文字で L か、覚えやすいけどなんか違う・・と思ったら、画面上部に、◎のようなボタンが用意されていてこれを押すと表示されたから、こっちの方が楽だし覚えやすくてよかった。

次に、配置した object を整列させたりグルーピングしようとしたら、ウインドウの下部に並んでいた、必ずしも使いやすくなかったあのボタンがない。なんじゃこりゃ。調べたら、箱の中に下矢印みたいなボタンがあり、これか・・・

こういう機能って結構使うんであんまりいじって欲しくないんだけど。まだ慣れていないせいか不自由に感じて仕方ないなぁ。

トレイルランニング:愛宕山ー吾国山、縦走

年末に行こうと思ってたら時間が取れず、三連休の初日の今日行くことにした。前日の夜思い立って準備していけたので自分でもびっくり。冬は携行する水が少なくて済み装備が軽いから良い。500ml と 180ml で済んだ。服装に悩む。以前このコースに行った時、寒い時期なのにその日だけ半袖で過ごせるぐらいの暖かさの日もあったので入念に天気を調べたところ、どうやら寒そうだ。R1 とキャプリーン ライトウエイトで出陣だ。

岩間駅に着いたら雪がちらちら降っていて焦る。しまった、キャプリーン はミドルウエイトにすればよかったか。でも、走っている最中には雪が降らなかったのでよかった。

このコース、もう何回目だろう。冬は下草が刈られて道が広く感じる。空気も澄んでいて見晴らしも良い。道中、草刈機で整備している人もいた。すれ違った人数は、同じ方向 1 名、逆方向 9 名であった。内、6 名は同一パーティーなので 4 組になる。路面は完全にドライで滑らない。いつも苦戦する展望台への登りのぬかるみも今回は無く、快適だ。

後学のためタイムも書いておこう。

岩間駅:0730

南山展望台:0820

難台山:?忘れた

吾国山:0950

福原駅:1030

前回は、吾国山に到着したのが 10 時を過ぎてしまったのに、今回は好タイム。あまり練習を積んでいなかったけれども、ゴール後含め疲労感が少ないのはなぜか。寒いのであまり汗をかかなかったからだろうか。登りは歩きに徹した(急峻すぎて走れなくて・・・)からだろうか。休み中のスクワットが地味ながら効果あったのか。

運動中はちょうど良かったけど、ゴールして電車待っている間は汗のせいで少し冷えた。とはいえ、幸運なことに風がほとんどなかったので凌げないということはない。吾国山の下り、今度は巻道を行ってみよう。

さて、今年はどのレースに出ようかな・・・

 

NSArray に float を代入する

NSArray に float で定義した変数を突っ込んだら叱られる。

書くのがすごいめんどくさいけど、@( my variable ) とするとうまくいった。こんな感じ。

NSArray* arrayColor = @[@(distBlack), @(distRed), @(distGreen), @(distBlue), @(distBlue), @(distYellow), @(distCyan), @(distMagenda), @(distWhite)];

 

地味に便利、でも、めんどくセー

小さな鳥の資料館、見つからず・・・

守谷に野鳥の森があり、散策路が整備されたとのことをつくばエクスプレス配布のパンフレットで知り早速行ってみた。 

駐車場が何箇所か整備されているのと、守谷駅からはすごい遠いので車で移動。守谷中学校の脇の駐車場、というか、通路の路側が駐車場でそこに停める。水の広場至近だったので、散策するのに良い場所だった。地図によると北ルートという散策路を進む。途中、登りの区間もあって面白い。

その後、南ルートから小さな鳥の資料館目指して歩くも、地図があるのに道がよくわからない。道中、老夫婦に会い、資料館はどこかと尋ねられる。はいはい、私も探しているんですよ、来た道にはありませんでしたが、お宅様も見つけられなかったと。おやおや困った。結局、資料館は見つけられず・・・ってか、パンフレットの地図、すごいわかりにくいのですが。南ルートもよくわからないし。帰ってから調べたら、道を間違えていたことに気付く。残念。パンフの地図を見直してほしい。

時間帯が昼を過ぎていたので、観察できた野鳥はアオサギだけという・・・資料館のこともあるので、また行ってこよう。