Swift
久しぶりにiOSアプリをビルドしようとして失敗しました。 やっぱりか、と思いつつエラーが一つだけなことに気づきました。GoogleMobileAdsのモジュールが無いという怒られ方です。これなら楽ちんに直せそうです。 とりあえず、gitをきれいにしていつでも戻せ…
Swift製オセロエンジンです 苦労に苦労を重ねて書いたおかげでとても遅くて弱いエンジンです。まだまだ若輩者です。 これは何か オセロAIとオセロ環境、あとオセロエンジンと喋るプロトコルとそれをコマンドラインで動かすためのアプリケーションです。 gith…
あると便利 gist.github.com こんなもので良ければどうぞ。 使い方 $ make # make buildに同等。ビルドします。 # コンパイルオプションで分けたりしてもいいと思います。 # make buildでデバッグ版、make build_releaseでリリース版とか。 $ make update # …
けっこう茨の道です なんかまだ「初心者でも鼻くそほじりながら日曜日にさらっとね」って感じではないです。なにせコンパイラ、Xcode、Swift Package Manager(以下SPM)すべてが日進月歩でバージョンアップしているのでウェブに書いてあることそのまま試すと…
前回は iOSアプリとLinuxコマンドラインアプリケーションでライブラリを共有するためにSwift Package Managerをつかってライブラリを作ってそれをiOS側ではEmbedded Binariesとして、Linux側では単純にパッケージとしてリンクして使えるようにしてみました。…
サーバサイドSwiftって全然盛り上がってないですね なんかフロントエンド盛り上がってますがサーバサイドっていまいちそういう感じしませんね。悲しいです。フロントエンドアプリばっかり作ってるとフロントエンド脳になってまうで。 というわけで拙作のオセ…
ワーニングはエラーだ 今更かも知れませんがワーニングはエラーです。ワーニングはエラーです。ワーニングはエラーなんです。ワーニングを放置してコミットする意味がわかりません。なのでワーニングを修正していきます。 このエントリは前回のエントリの続…
久しぶりにXCodeを起動しました。 昔のプロジェクトをインポートしたところ"最新のswiftに自動で変換しますか?"と余計なお世話をぶちかましてきたのでスルーしてビルドしたところビルドエラーの嵐。後方互換性とか関係ねえからっていうAppleの教えが心に響…
Swiftの言語仕様が新しくなってたのはSwift 1.2というやつだったらしい そうだとは知らずにまた開発者に告知もなく言語仕様を変えやがったのかと思っていました。アップグレードならまあ、仕方ない。 Swift - また言語仕様が変わっていやがる 2015春 - eupho…
You have been warned! Swiftは開発途上の言語です というわけで、またSwiftの言語仕様がガラリと変わりまして、さっぱりビルドを通りません。ぱっと見ると17個ものビルドエラー。なーんかC->C++->Ocamlあがりの私としては言語仕様というのはバックワーズコ…
動機 Swiftでそこそこ普通の大きさのアプリケーションを書いてきたのですが、いかんせん遅い。どうも配列とか構造体とかの実装がまだ成熟しておらず、超高速なAIを実装するにはコンパイラの最適化が…とかなんとか書こうと思ったんですが、ぶっちゃけ実行速度…
Swiftにdoxygenが使えない Objective-Cしか対応していないことに気づきました。私は愚か者なので1ヶ月前から触ってないSwiftコードについて何も覚えていないことに気づきました。一生懸命思い出そうとするのですが、思い出せるのは初孫の名前ばかり。なので…
Swiftの整数型はSwift Standard Library | Apple Developer Documentationにあるように、符号ありと符号なしの幅指定なしのInt/UIntと幅指定有りのInt32/Int64...などがあります。 こんな感じです。 Type Minimum Value Maximum Value Int8 -128 127 Int16 -…
protocolの仕様は未だに不安定 Appleは未だにこの辺りの仕様をXcodeのバージョンを上げるたびにコロコロ変えているように見えます。この情報は2014/10/25日現在私がXcode ver 6.1(611052d)で確認した内容です。 delegateってどんなだっけ おさらい。デザイン…
事情があってSwiftを触ってみた。さらっと覚えておくことと所感をメモしておく。 覚えておくこと Optional型はアンラップするとき基本こう使う if let unwrappedNonNilVariable = NillableVariable { something... } Optional型な引数とそうでない引数でシグ…