Swift コードをコンパイルする
Swift で作ったコードはclangでコンパイルして実行ファイルにすることができます。 コマンドラインツールなどを作成したりするのにいいかもしれません。 Swiftのコンパイル Swiftのコンパイルコマンドは swiftc です。 デフォルトの swiftc は /user/bin にインストールされています。 (ターミナルから which swiftc...
View ArticleSwift でUIWebViewにUserAgentを設定する
SwiftでUIWebViewにuseragentを設定する場合の処理です。 (Objective-Cと同じですが……。) 独自のUserAgentを設定する アプリ独自のUserAgentを設定する場合にはこちら。 let originalUserAgent = "Toyship Original Application" let agentDict =...
View ArticleSwift 2.0 の新しいOption、OptionSetType
Swift 2.0では、Optionの型が変わりました。 あたらしく導入された OptionSetType についてちょっと見てみました。 OptionSetTypeとは 最近、Swift1.2の既存プロジェクトのSwift2.0対応を少しずつ始めたんですが、UIUserNotificationType の option 設定でコンパイルエラーが発生。...
View Articleif let の変数名
SwiftでOptional値をunwrapするときに一番使う if let 構文。 そのときの変数名の扱いについてみなさんはどうしているでしょうか。 if let Swiftで導入されたOptional、このOptional変数をOptionalではない変数にする unwrap 処理として一般的なのが if let 構文です。...
View ArticleISO8601とUnix Timestamp
これはiOS Advent Calendar 2016の12/2の記事です。 アドベントカレンダーはDate/Calendarネタを描こうと思っているので、今年はいろいろな現場で必ず目にする日付フォーマットのバグについて。 ある程度iOSをやっている方には当たり前の話なんですが、なぜかこのバグはいろんなところで見かけるんですよね……。 最近iOSをはじめた人は是非覚えておいてくださいね。...
View ArticleSwift の Conditional conformances(条件付き適合)
この記事はSwift Advent Calendar 2016の24日目の記事です。 Swift4で導入されるConditional conformances(条件付き適合)について調べてみました。 Conditional conformances(条件付き適合)とは Swift Evolutionでは、今後のSwift向けのいろいろな機能が検討されています。...
View Articletry! Swift でなぜ登るのか話してきました。
第二回の try! Swiftで Why We Climb というタイトルでLTをしてきました。 LT応募 try! Swiftは、去年は参加者からのcfp(call for paper)の募集がなかったんですが、今年はLTの募集がありました。 これは是非参加したい!と思ったので、当選確率があがるように、2件のLightning Talkを応募してみました。 一件は真面目な Embedded...
View Article