シャグを試す:サーフサイドピニャコラーダ、チョイスアロマティック

通勤途中のたばこ屋さんに手巻きのシャグが置いてある。Herbstick Relax でコルツクリアメンソールを吸っているのですが、他の銘柄も試してみたいのでサーフサイドピニャコラーダ、チョイスアロマティックを買ってみました。

サーフサイドピニャコラーダは、25g で買いやすいグラム数。ピニャコラーダの意味はパイナップルとのことで、果たしてどんな味かドキドキ。試した結果、うーん、合わない。ココナッツの香りがきつすぎる。パイナップル間は少ない。

チョイスアロマティックも試してみました。正直、サーフサイドピニャコラーダと似ている。ココナッツの香りに、なんとも言えないスパイスの香りが足された感じですが、ココナッツの香りが勝り、どうにも自分には合わない。

結局のところ、ココナッツの香りがそんなに好きではないのだろうとの結論で、消費が終わったらまた別の銘柄を買ってみよう。

自分的には、今のところコルツクリアメンソールが一番合っているのですが、タバコ感が薄く感じることがあるので、もう少しキツイと嬉しいのですが、銘柄探しの旅はもう少し続きそうです。

Interface Builder: Text View を配置すると、制約エラー

Main.storyboard でレイアウトしていて、Scroll View は一つの鬼門というか、一般原則が通用しないことがあるので注意が必要。

今日遭遇したのは、Scroll View > View > Text View と配置し、『よくわかる Auto Layout』に倣い、text view の上と左右に制約を与えたところで引っかかってしまった。エラーの内容は、

text view need constraints for: Y position height

とある。わからない。何度かレイアウトし直してみてもうまくいかない。散々いじった末、やっと解決。

Show the Attribute Inspector > Scroll View > Scrolling > Scrolling Enabled

このチェックを外すとエラーが消える。

解決してみて初めてエラーの意図するところがわかったんですが、スクロール可能にするなら object の高さを決めなさい、不可にするなら可変だよ、ということなんですね・・・ふぅ。

それにしても、Xcode は進化しますね。今日、?になってしまったのは、レイアウトしていたら、Safe Area というのが勝手に追加されてしまい、消そうとしても消せない、選んでみると配置できる場所が青くなる。便利そうなんで君悪いけど置いておくことに(というか、消せないし)して、この object を指定した位置調整とかできるようになるんですかね。

 

macOS High Sierra で、喋るのが日本語に・・・

macOS High Sierra にアップデートして、なんかよかった事あったかなぁ・・あんまり無いような・・と思っていたのですが、昨日気付いたよかった点:

椅子に座って MacBook を膝に乗せて作業しているのですが、バッテリーが 10% 切ると、今までは英語で喋っていたのが、macOS High Sierra にしてからは日本語で喋るようになりました。

かなり地味ですが、今のところ少ないよい点に気付いたので書きました。

 

インターネットラジオ

パソコンで何かの作業中、だいたい音楽をかけることが多いのですが、ブロードバンドを使えるようになってからはインターネットラジオを聴いています。手持ちの CD だとどうしても飽きてしまうのでラジオの方がよいのです。

iTunesインターネットラジオが色々登録されていて、カテゴリに分かれているので凄く使いやすく、以前は Calssic から bach の曲を選んで聴いていたのですが、最近は Jazz から選ぶことが多いです。中でも、Smooth Jazz と名のつく局は聴いていて飽きないというか、あーこの曲いいねぇという出会いが多く、最近はほとんどこれ。

ちなみに通勤の時は、RadioTunes.com のアプリで、Smooth Jazz の曲を聴いています。RadioTunes.com の Smooth Jazz はホントよくって、自宅でも常にこれでいいくらいなんですが、残念なことに、プレイヤーがブラウザベースのものしか選べなくて何かと不便なことが多いので、iTunes に登録されている局から選ぶことになります。

最近、インターネットラジオ局はビジネス的にうまくいっていないのか、RadioTunes.com では、premium メンバーになってくれないかという勧誘が盛んにくるし、iTunes に登録されている局を選んでも、not avirable your country のようなメッセージが流れたり、繋がらなくて次の局にスキップしたりして、不便を感じるように・・・

iTunes の局をそろそろ整理して欲しいなぁと思うのですが・・・

CoreData がもっと便利にって、知らなかった・・・

CoreData 使っています。

storyboard ファイルが吹っ飛んでしまい、やむやむ新規プロジェクトから作り直すハメに・・

まずは CoreData の model を作って、次に、Editor > Create NSManagedObject Subclasses... を選択して自動的にファイルを作ってと。慣れた手順だと思っっていたら、その必要も無くなり、単に model を作ってしまえば、あとは勝手にファイルが読み込まれるという寸法のようだ。わざわざサブクラスを作ってしまうと、build した時に、以下の謎のエラーが出てしまいはまってしまうことに。

ld: 4 duplicate symbols for architecture x86_64

これは、model を作ることで勝手に必要な .h, .m ファイルが作られるので、サブクラスを作ると重複して読み込まれてしまうことになるので、そのエラー。

ずいぶん便利な世の中になりました。ってか、初めからこのような作りにしておいて欲しかったというのが本音なんですが。

 

 

 

 

Main.storyboard 逝く・・・

制約を色々追加していたら、昔色々試作していたらのがあだになったのか、カーソルがぐるぐる回って Main.storyboard が表示されなくなる。こうなると Xcode はあらゆる操作を受け付けなくなる。困った。アプリ強制終了、アプリ再起動を繰り返しているうちに、storyboard が逝ってしまいました。アイコンからして、素になってしまい、レイアウトを表示する気配がない。

結構時間がかかったんだけど、しょうがないね。またやり直すか。

 

よくわかる Auto Layout は良書

よくわかる Auto Layout (ISBN: 978-4-86594-032-9) は良書。

Xcode で新しく採用された Auto Layout。便利だということは分かっているけれども、今ひとつ使い方がよくわからない。いつもテキトーにやって、うまくいったり、いかなかったりしていたのですが、ついに、Apple から reject 食らってしまい、しかも、ここ読め、あるいは、このビデオ見て学習しろ的なコメント・・・それで指示された資料を拝見いたしましたが、概要説明にとどまり、詳細というか具体的にどうやるのかさっぱりわかりませんでした。

これではいけないと、何か書籍を読んで学習しようと探していたところこの本を発見。というか、Auto Layout について詳しく説明している資料は国内でこの書籍が唯一ではないかと。 もうね、2 回も精読しましたよ。この本読んで、よく分かったことは、次の通りです。

  • First Layout と Second Layout がある
  • 最低でも、2 つの制約が必要(縦と横の 2 つ)

そんなの当たり前だろと思うかもしれませんが、Auto Layout について、名前だけ知っててなんの知識もなく素で使おうとするとそんなこともわかりませんのでとてもありがたかったです。

あと、この本が秀逸だと思ったのは、みなさん避けがちな、次の事項も扱っている点です。

  • UIScrollView の設定方法
  • UIStackView の設定方法

名前からして、こんなの簡単だろ?と思ってなんの学習もしないで取り組むとひどくはまってしまいます。UIScrollView については、その中にある view と 高さを揃えるとスクロールできるようになるとか、UIStackView については、細かい単位に区切って vertical の中に horizonal をいくつか詰めるとか、多分そうかなぁ〜と思っていたのがちゃんと示されているので、ああ、やっぱりそうなのねと確認できました。

具体的なテクニックについて言及があるのと、一番の根幹の部分にある定義の部分もきちんと説明がしてあるので、知識としてすごく盤石なものが身につく感じです。

僭越ながら苦言も述べると、校正が甘いと思いました。Chapter 3 では、図として示されている StackView の縦横の向きが逆。これ、ちょっと致命的だし、気づくのに時間がかかるというか、え?こうやって設定するの?と思ってしまいました。次の版ではぜひ直した方が良いと思います。

また、Chapter 4 では日本語が少しおかしいところが・・・p. 69 次に下部のボタンを次に選択して・・・というのは明らかにおかしい表現ですが、ま、瑣末な点です。

で、実際にアプリを作るとなると、本には書いていない新たな問題に当たるもので・・・続きはまた明日にでも。。。