Xcode再トライ

Pythonistaでアプリをつくっても、ブックマークがアイコンになっているだけでPythonが起動してから走るという、いわゆるショートカットであった。これはこれで用を満たしているのだが、あまりスマートじゃないと思った。

そこで前に一回、諦めてしまったXcodeで作るというのに再トライした、今回は作りたいもののイメージがあったので、ぐぐりながらであるが、なんとかやっとシミュレータで目的のものにたどり着いたと思われる。

ググっていて、一番不幸なのは、このswiftという言語や環境のxcodeがバージョンアップを繰り返していながら仕様がどんどん変わっていくことにあると思った。どうも書いてある通りにやってるのにエラーで怒られたりするし、ここを押すと書かれているようなアイコンがなかったり、説明と異なる表示だったりで、、いくつも読みあさって目的のものになったと思われる。さすがに全てを理解するのは無理だろうからできるように作っているだけということなんだが、、あってるのかどうかもよくわからん。入力しながらヒントが出る、そしてエラーやワーニングについても説明とfixボタンが出て、そこを押すと変更されて解消されたりするので、意味はわからないが進められるようだ。

import UIKit

class ViewController: UIViewController {
    
    var c = Float(299792458) // Light speed

    @IBOutlet weak var freq: UITextField!
    @IBOutlet weak var yuuden: UITextField!

    @IBAction func myButton1(_ sender: Any) {
        let ff = Float(freq.text!)!
        let er = Float(yuuden.text!)!
        let rr:Float = (c / sqrt(er)) / (ff * 1e6)
        myText1.text=String(format:"%6.3f",rr)
    }
    
    @IBOutlet weak var myText1: UITextField!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

}

Xcodeのインストールにえらく時間がかかった、これはたぶん以前インストールしてたから、アイコンが「入手」ではなく、「雲↓」アイコンだったので以前のものが一旦ダウンロードされて、その後アップデートされるということになったからだと思うが、まる1日以上かかっていた。気づいたことや苦労したことを列挙すると

  • 最新のはXcode11で、この情報が少なかった。11の目玉はSwiftUIらしいんだが、それに関する説明は前からどう変わったかの情報しかなくこれで初心者が最初からやるには敷居が高すぎた。
  • storyboardで作業するには、最初のプロジェクト作成画面で、SwiftUIではなく、Storyboard を選ぶということ
  • storyboardの横にViewController.swiftを表示するのに、ViewController.swiftをOptionキーを押しながらクリックするとか
  • storyboardのテキストフィールドなどを、swift上にもってくるのは、Controlキーを押しながらドラッグするとか
  • 参照するには、最後に!をつけるとか
  • Simulatorでキーパッドが出ない時は、デバイスのKeyboardのハードウェアなんたらかんたらのチェックを外すと出るとか
  • letとvarの違いがよくわからない。変数を後で変更するから、varで入れていたら、なんかエラーが出てletにしろ見たいなのでfixすると、letで動くようになるんだけど・・

いろいろ、難しい。