大切なのはアウトプットとコミットメント。 忘備録てきなかんじです。
Swift Vim
VimでSwiftをコーディングするにあたり、LSPでコード補完をするための設定メモです。 手順は以下の通りです。 1. sourcekit-lspを入れる 2. vimrcの設定 ### sourcekit-lspを入れる 1. SwiftのLanguage Ser...
macOS Xcode
vim-lspを使ってSwiftのコードを書こうと思って色々やっていたら/usr/includeにstdio.hが無い事に気づきました。 もともとなかったのか、何かの原因でなくなったのかわかりませんが、解決に時間がかかったので解決方法を残しておきます。 ## 現...
Swift
GCDはSwiftでスレッドプログラミングする時には避けて通れない道です。 これを使いこなせれば大抵のスレッド処理は賄えると思います。 以下の3パターンがあります。 * メインキュー (メインスレッドで行われる) * グローバルキュー (別のスレッドでよろしく処...
Swiftでのエラーハンドリングはdo-catchの中で行います。 Objective-C以上にエラーハンドリングが必要になってくるので、Objective-CからSwiftに来た場合は注意が必要です。 (実際にコードを書いてみると結構使う事になる) * Er...
SwiftにもObjective-Cみたいにprotocolとextensionがあります。 ProtocolはJavaで言う所のInterfaceのようなものです。 tableviewのデータソースやデリゲートなどで使います。 ### プロトコル プロトコ...
Enumerationは数値だけでなく、FloatもOKのようです。 値を保持するEnumerationも定義する事が可能です。 値を保持するEnumはサーバーの戻り値を定義したりする際に使えるかもしれません。 ```swift `gutter:true; //...
クラス定義はclassキーワードから始まります。 init/deinitがそれぞれイニシャライザ、デストラクタ サブクラスを作成した時に、スーパークラスのメソッドはorverrideキーワードをつける必要があります。 ```swift `gutter:true;...
Swiftでも関数とオブジェクトはもちろんあります。 関数定義はfuncキーワードから始まります。 ```swift `gutter:true; // 関数宣言はfuncから始まる。戻り値は -> の後に記載 func greet(person: String...
Swiftでプログラムを書いていると、nilを返す可能性のあるAPIがかなり多いのですが、nilの場合のガード処理を書く場合は、guardキーワードを使うことができます。 ```swift `gutter:true; guard let content = try? D...
Objective-Cと同様にArray(配列)とDictionary(辞書)があります。 大体この2つを使えるようになれば、大抵の処理に困らなくなると思います。 Swiftは型の制約が強いので、定義する時に型を指定する必要があるのが0bjective-Cと違いま...
Swiftもバージョン5になり、安定したので再入門しました。 [Swiftツアー](https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html)を読みながら基本を学んだので気づきを少しづつ書いていきます。 ...
ガジェット
Google Nest Hubが届きました。 数日間使ってみてのデビューです。 ## 良い点 * Googleフォトと連携したデジタルフォトフレーム * 視覚的に天気などがわかる Googleフォトで家族の写真のアルバムを作成すれば、その写真を表示してくれます...
C C++ Java Objective-C Perl Python
0除算を行うとだいたいプログラムは以上終了します。 プログラムを書いている時に割り算が出てきたら、除数が0にならないか確認しましょう。 特に除数が変数の場合は等注意です。 ガード処理として除数が0でないかチェックする処理を入れておくのが無難です。 頭では...