Swift 独学プログラミング プログラミング初心者のnavigationcontrollerを使用した画面遷移〜値渡し編〜

あっ どうも子へびです。

先日モツ煮食べ放題480円の宣伝を掲げていたお店が夏に向けもう一つ新しい宣伝を掲げていました。その名も『餃子食べ放題980円』です。(笑)餃子にビールは最高ですが食べ放題と言われると一体何個食べられるのでしょうか?子へびは餃子大好きですが挑戦するにはちょっと考えてしまいますね(笑)でもこんなに暑くなると餃子にビールは最高です!




現在navigationcontrollerを使用した画面遷移の設定とその際にtable viewで選択された値を次の画面に渡したいという課題に取り組んでいる子へびですが、その際また値をうまく渡せないと言う穴に落ち現状をMaster松陰に報告した際の会話です。

子へび

う〜〜〜む。どうして値は取得しているのに渡すことができないのかな??

Master松陰

子へびのその発言に問題がありますね。今の現状を説明してみなさい。

子へび

やばい一番苦手なやつだ。現状説明・・・。うまく言葉で表現できないし、しかも間違っている時のMaster松陰の顔がまた怖いんだよな・・・。でも仕方ない説明してみるか。

子へび

えーと。table viewで選択させたセルを通じて値を取得しています。セルをタップすると次の画面に遷移するようになっているのでその遷移のタイミングで値を次の画面に渡してその値を表示させたいのです。でもその値が次の画面に表示されないし、そもそも値が渡っていないようです。

Master松陰

その値が渡っていないと言う考え方がそもそも違っているのです。TableViewのタップ時に値を渡すのではなく、ViewController の prepareで、遷移先のViewControllerに値をセットするのです。なので値を渡すわけではなく、次の画面が開いた時には既にプロパティとして値がセットされているのです。

後日Master松陰本人から物言いが入ったので訂正です。とほほ・・。

子へび

??? ・・・・ ??? ・・・・

この言葉の違いわかりますか?

この違いを理解するのにちょっと時間がかかった子へびです。UIの動きとデータの動きがどうしてもごちゃごちゃになってしまうためきっとcodeもグチャクチャになってしまったのだと思います。それぞれ切り離して考える必要があります。そして次なる問題が・・・。表示させたいデータと処理させたいデータが別々に存在し、また穴に落ちている子へびです。自分の理想通りに作ろうとすると次から次へ問題が生じます。

子へび

とほほ・・・。




Swift 独学プログラミング プログラミング初心者のPixelmatorで画像編集〜元画像の横幅が足りない編〜

あっ どうも子へびです。

暖かい日があったかと思へば今度は雪予報!先日暖かい日に間違えて冬眠から覚めて寝ぼけてのろのろ歩くリアルな蛇をみました。子へびではありません。笑 リアルな大きな蛇でした。動物達もこの変動についていけないんでしょうね〜。





アプリ作りに欠かせない画像編集ですが使いたい元データの画像が足りないってことがほとんどです。しかし子へびその画像が気に入ってしまうと想像が膨らみどーーーーーしてもその画像が使いたくなります。その度に編集を試みるのですが、なかなかうまくいかずMaster松陰は

Master松陰

人の目はなかなかごまかせませんよ!画像編集して合わせるよりサイズにあったものを最初から用意した方が良い時もあります。例えばを見て見なさい。

sample02

と言ってMaster松陰が作ってくれたsample。みなさん何か気づきますか?ちなみにMaster松陰ならこの画像なら絶対に使わないとのことです。横幅が足りず切り貼りして幅を出しているのですがどうしてもつぎはぎ部分がみえてしまいます。なのでこのような場合

sample04

すごく細かーくペイストして行ってぼかしを入れるとここまでは綺麗に見せることができるとのこと。けどMaster松陰はこれならまだみれるなぐらいなのでやっぱりこのクオリティでは全然気に入らないとのことです。どこまでで妥協するかにもよるけど自分の気に入らないものは出したくないしやっぱり気になる箇所はどうしたって放置はできないですからね。

ただしこの手法有効的な時もあって背景がとてもシンプルなものであれば綺麗にコラージュもできます。なので全てがにおいて無効なわけではありません。選ぶ画像にもよるので考え方として参考になれば。

画像編集も奥が深い。そして画像編集ツールを使いこなすことも習得しないといけないのでまたもや子へびのハードが上がっております。

子へび

とほほ・・・。




Swift独学プログラミング プログラミング初心者の勉強方法〜Swift編〜

あっ どうも子へびです。

これだけ暑いと食欲不振となる方もいるかもしれませんが子へびは全くその兆しはありません。今デニーズで開催中の桃のデザートにハマってしまい、ポッペタを膨らましながら頬張っております。美味しい桃なので是非食べてみてください。



最近の子へびはめっきりXcodeとアプリの勉強にハマっていますが、そこで疑問が・・・。

子へび

Master松陰!子へびはSwiftの書き方はサンプルコードがあるとPythonとのシンタックス等の違いはあれど使い方やどうやってコードが動くかはなんとなく読めてしまいます。なのでアプリの問題も解けるし、頭に入っているかは別としてどんどん進んでしまいます。これで本当に良いのでしょうか?

Master松陰

私自身も全ての言語のシンタックスを決して覚えているわけではありません。その都度書きたい言語に合わせて調べながら書いています。なのでその子へびの悩みを解消するにはコードを書きまくるしかないと思います。実際たくさんのコードを書かないとその言語の特徴を活かしたプログラムを組むことができません。なのでシンタックスを覚える必要はありませんが、コードはたくさん書かないとダメです。

子へび

なるほど。子へびはPythonでは書いたことのなかったswitch→case→case→defaultがif文と同じくらいすぐに思い浮かぶのかな〜っとふと思ってしまったのです。でも気になったコードはたくさん実装してみないと身につかないということですね!

Master松陰

Swiftもバージョンが変わってきてだいぶわかりやすくなっているので書きやすいと思いますよ。

このように自分の勉強方法や進め方に疑問を持つ人は多いのではないでしょうか?そんな方は身近にいるエキスパートに相談して見るのも良いかもしれません。進め方にアドバイスがあると安心感を持って継続できると思います。programmingの疑問の解決も含めてエキスパートの存在は初心者には大事だと思います。

Python 独学プログラミング プログラミング初心者の言語によるシンタックスの違い〜Swift編〜

あっ どうも子へびです。

子へびは今口の中に大きな口内炎ができていて喋るのも、食べるのも痛くてたまらない状態です。子へびは食べるの大好きなのでこれは毎回ほんとーに困ります。薬をつけるとすぐ治るとのことですが、薬嫌いな子へびに何か薬以外で早く治る方法があったら是非教えてください。痛いよ〜




Swiftのシンタックスを読み進めていくと、Python出身の子へびにとってはなんだか気持ち悪いこ光景が広がっております。中でもこれ

この{}のくくり方が何やら心地悪いのです。しかも終わりの}が改行されているところが1ブロックが長すぎて、よくシンタックスエラーを起こす子へびは絶対つけ忘れそうな位置に}があります。そして変数を定義する時につける

ver X = 3

このverの文字。確かに変数と定数を見分けるに便利ではあるけど、Pythonで書くより確実に手数が増えている。子へびにとってスペルミスやtoken(←今回この言い方初めて知りました) の書き間違えは日常茶飯事なので記入する手数が増えるほどミスする確率が増えそうな気がします。と言って威張れるものではないのでしばらくは要注意で書かないとダメですね。この話をMaster松陰にしたところ

Master松陰

むしろPythonの方が珍しくて、{}がないのが気持ち悪いくらい。ここからここまでってちゃんと明示できるんだからむしろあった方がわかりやすいでしょ。

っとのことでした。

子へび

確かに。変数と定数の表現の仕方とかPythonの方がなんかだいぶFrankな気がする。

この辺は慣れなのかもしれませんが、まだまだ慣れない子へびです。それと言語2つ目を勉強していてすごく思うのですが、プログラミングって英会話とかと一緒で言語だから使えてなんぼってところがすごくあるなと感じています。知識ばっかりあっても使えないと意味がない。何かcodeを自分で組み立てる練習は必要ですね〜。なんかSwift書き込めるアプリないかな?