Swiftがオープンソースになって以来、長年議論され続けてきたTyped throwsの提案がついに承認されました。これは、throws節にエラー型を指定できる新しい言語機能であり、Swift 6から導入されます。 Swiftにおけるエラーハンドリングの考え方は、Swift 2でthrows/tr…
この記事は、CAM Advent Calendar 15日目の記事です 前回は @matsuhei さんによる、 レガシーコードに対する解析ツール(重複コード編)でした。 概要 以前、Swiftのコードを誰かに見せてたときに以下のように指摘されました。 誰か「ここ、 / 2 になっとるけど * 0.5 のほうが速いで」 僕「あ、まぁ確かにそうですね(そんなに変わるかいな)」 確かに、基本的には割り算よりも掛け算のほうがパフォーマンスがいいです。直に頭で計算するとき、僕も掛け算のほうが計算しやすいです。計算理由にもよりますが、Swiftもその例から漏れないはずです。 ただ、iOSでは本番用のipaを作成するときにはリリースビルド(本番)が行われます。 速度ではなく、最適化の側面から見て、コードが一緒になってないかな?と思ったので、検証してみました。 検証環境 Apple Swift vers
こんにちは。リードアーキテクトのItoです。 前に予約していたNuAns NEOが届きました。かなりいい感じです。iPhoneと比べてしまうと、カメラ性能とアプリの少なさが気になりますが。 前回の記事では、Nodeベースのプロジェクト(Webサーバー)をSwiftに置き換えられるかという部分の話をしました。今回は前回からのアップデートや実際に運用してみたSwiftベースのサーバーサイドの話もしたいと思います。 Swift全体の動き、Swift本体(コンパイラ)のlatest build(masterブランチ)はSwift 3系になりました。 Swift(特にオープンソース版)の最新情報を追いたい場合は、以下のソースが参考になりました。 iOS Dev Weekly Swift Weekly Brief This week in Swift little bites of cocoa. Ch
In this post, we explore the nature of Swift’s new error type, looking at the possibilities and restrictions for testing error handling implementations. We end with an illustrative example, and some helpful resources. How to Implement the ErrorType Protocol If we jump to the definition of the ErrorType protocol in the Swift standard library, we see that it doesn’t contain many obvious requirements
iOSエンジニアの皆さん、ゴリゴリSwift書いていますか?サクサク書ける反面、コンパイルにやたら時間がかかってストレスフルですよね。今回は、激遅だったコンパイル時間が「ちょい遅」くらいまで改善したお話です。 あらすじ「ナウでヤングなiOSエンジニアはやっぱSwiftだよね!」ということで、半ば強引にSwiftを採用して直近のプロジェクトを進めていました。 補完機能が頻繁に落ちたり、ブレークポイントの位置がおかしかったり、変数の中身が見られなかったり、謎のエラーでビルドできなかったり、…などなど、まだまだバグはてんこ盛りですが、それらを見なかったことにできる程度にはいい感じです。型推論はそこそこ賢いし、何より簡潔に記述できます。ただの可変長配列のために、もうNSMutableArrayなんて長々と書かなくてもええんやで。 プロジェクトが進むにつれて見えてくる問題プロジェクトが進んでソースコ
SwiftDoc.org Auto-generated documentation for Swift. Command-click no more. News ⋅ @SwiftDocOrg ⋅ github.com/SwiftDocOrg Created by parsing and analyzing the autogenerated header for the Swift standard library. Built using SwiftDoc and Jekyll, hosted with Netlify. All content copyright © 2014 – 2020 Apple Inc. All rights reserved.
これは,こちらのサイトによると, Depending on your requirements, this may or may not be what you want, but it is certainly consistent with the overall design of the String type to abstract away as many Unicode details as possible. Rule of thumb: if two strings look equal to the user, they will be equal in your code. つまり,「Unicodeでの実装にかかわらず,ユーザ側からの見た目が同じであるからには,コード上でも同一として扱われるべきである」という原則に基づいているとのことです。 実際,この仕様はApple
Swiftも1.0がリリースされ、SwiftでiOSアプリを申請できるようになりました。Swiftはとても学びやすい言語ですが、 Array (や Dictionary )の挙動については最初戸惑う人が多いのではないかと思います。そこで、Swiftを学習するときに Array についてハマりそうな点をまとめました。 多くの言語では配列やリストは 参照型(Reference Type) として扱われますが、 Swiftの Array は 値型(Value Type) です。配列やリストが参照型である言語(Objective-C、C#、Java、JavaScript、Python、Ruby、…)に慣れ親しんでいる人ほど、この違いに戸惑うのではないかと思います。 本稿では Arrayが値型であることによってハマりがちなポイントについてまとめます 。個別のメソッドの使い方などでハマりがちな点につい
米Appleは7月11日(現地時間)、6月のWWDCで発表した新プログラミング言語「Swift」の公式ブログを立ち上げた。このブログを通じて、同言語を構築したエンジニアが開発者向けに様々な情報を提供していくという。 Appleは開発者向けのフォーラムは運営しているが、開発者向け情報提供の窓口として公式ページ上にブログを開設したのはこれが初めてだ。 同社はiBooks Storeで、Swiftの電子版解説書を無料公開している。Swiftのチームは公式Twitterアカウントも持っており(Apple StoreのTwitterアカウントはあるが、Appleとしての公式アカウントはない)、Swift普及への意気込みがうかがわれる。 公式ブログへの最初の投稿で、開発環境「Xcode 6 beta」の無償提供も発表された。 従来Xcodeのプレリリース版を入手するには年額99ドル(日本では7800円
概要 思ったよりバズったので、いくつか加筆修正しました beta3でArrayの型指定の方法が変わったなーと思って眺めていたら、もっと根本的な変化がありました。 SwiftのArrayがヤバイなどで話題になってたやつです。 公式ドキュメント The Swift Programming Language 変更点 Array in Swift has been completely redesigned to have full value semantics like Dictionary and String have always had in Swift. This resolves various mutability problems – now a 'let' array is completely immutable, and a 'var' array is complet
In Apple's documentation about interacting with C APIs, they describe the way NS_ENUM-marked C-style enumerations are imported as Swift enumerations. This makes sense, and since enumerations in Swift are readily provided as the enum value type it's easy to see how to create our own. Further down, it says this about NS_OPTIONS-marked C-style options: Swift also imports options marked with the NS_OP
数日間iOS8/Xcode6/Swiftな環境で色々試してみて、Swiftを使っていて思ったよりがっかりした点が多かったのでちょっとまとめてみようと思います。 動的な処理がSwiftだけでは一切できない [NSObject performSelector:]の類と、NSInvocationがSwiftからは一切呼び出せません。使おうとすると怒られます。objc/runtime.hは試していませんが、同様に直接Swift経由では呼び出せず間にObjective-Cをかます必要があるのではないかと思われます。 @optionalなprotocolが限定的にしか使用できない 具体的には@objc属性を付けないと使えません。しかしながらこのような後方互換性のためだけに存在する属性をいつまでもAppleがサポートするかは疑問が残るというのと、もう一つ以下の様な問題があります。 @objc属性のついた
Build apps using a powerful open language.
This content has moved; redirecting to the new location.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く