The Foundation framework is used in nearly all Swift projects. It provides both a base layer of functionality for fundamentals like strings, collections, and dates, as well as setting conventions for writing great Swift code. Today, we have some exciting announcements for the future of Foundation. Going Open When Swift began life as an open source project, we wanted to open not just the language i
2021年11月にはてなが開発しているマンガビューワのアプリ版である「GigaViewer for Apps」を提供開始しました。 hatenacorp.jp 同日に、その最初の導入事例としてコミックガルド+をリリースしています。 GigaViewer for AppsのiOSアプリはSwiftUIをフルに活用して開発をしています。この記事では実際に使っているSwiftUIの便利コンポーネントをソースコード付きで紹介します! GigaViewer for Appsに関しては、座談会の記事や、Android版の設計について書いたブログもありますので、あわせてお読みください。 この記事では主にカスタムコンポーネントの使い方を紹介します。コンポーネントの実装サンプルはリポジトリに公開しているので、こちらもご確認ください。 github.com PageViewController - UIPag
前置き まだ調べ中の部分があります。 主にSwift UI 1の仕様で確認しているのでSwift UI 2だと違う部分があるかもしれないです。 SwiftUIの特徴 iOS 13から利用可能 UIKitの完全なリプレイス Objective-Cとの決別 今まで培ってきたUIKitの大部分の知見が失われたため、一から学ぶ必要があり学習コストが高い(UIViewControllerの階層構造の概念は変わっていないのでそういう部分はまだ活用できますが)。 MVCの廃止 SwiftUIのデータバインディング機構のおかげでUIViewControllerが不要になった Storyboard, XibのXMLからプレビューのGUIを構築してUIの変更してXMLを書き換えていたのを、SwiftコードからプレビューのGUIを構築してUIを変更しSwiftコード自体を書き換えるように変わった XMLのコンフ
In June, Apple introduced Swift System, a new library for Apple platforms that provides idiomatic interfaces to system calls and low-level currency types. Today, I’m excited to announce that we’re open-sourcing System and adding Linux support! Our vision is for System to eventually act as the single home for low-level system interfaces for all supported Swift platforms. Goodbye Imported C Interfac
最近、 Swift リポジトリに並行処理関係の Pull Request (PR) が続々とマージされています。 たとえば、次のような PR があります。 Add async to the Swift type system. #33147 Add @asyncHandler attribute. #33476 Import "did" delegate methods as @asyncHandler. #34065 Import Objective-C methods with completion handlers as async #33674 Basic support for actor classes and actor isolation #33906 Swift の並行処理( Concurrency )関連の機能については、 2020 年 1 月に発表された "On th
XcodeGen is a command line tool written in Swift that generates your Xcode project using your folder structure and a project spec. The project spec is a YAML or JSON file that defines your targets, configurations, schemes, custom build settings and many other options. All your source directories are automatically parsed and referenced appropriately while preserving your folder structure. Sensible
www.youtube.com try! Swift 2019 kateinoigakukunです。メルカリでインターンをしています。 今日はSwiftを理解するために重要なメタデータについて話します。Swiftは静的型付けな言語として知られていますが、 実はランタイムにおいては動的な部分が多々あるのです。 let typeName = String(describing: Int.self) 皆さんもStackOverflowを見て、一度はこんなコードを書いて型名を取得したことがあるでしょう。 extension UITableView { func register<Cell>(nibWithCellClass: Cell.Type) where Cell: UITableViewCell { let typeName = String(describing: Cell.self) l
有能ではあるが万能には足りない 前回の予告どおり、今回はSwiftへの不満と将来への期待を取り上げます。 公式サイトのAbout Swiftにはこうあります。 The goal of the Swift project is to create the best available language for uses ranging from systems programming, to mobile and desktop apps, scaling up to cloud services. 「Swift プロジェクトのゴールは、システムプログラムからモバイルおよびデスクトップアプリケーション、そしてクラウドサービスに至るまで最良の言語を創ることである」。裏を返すと、Swiftへの不満はこのゴールに足りないものということになります。 RustにあってSwiftにないもの=Rust
κeenです。言語処理系勉強会 Vol.1 に参加してきました。そこでの@omochimetaruさんのSwiftのGenericsとProtocolの実装の話が面白かったので少し感想を。 Javaのジェネリクスは型消去で実装されており、全てのジェネリクスを1関数でまかなえます。一方で統一的に扱うために参照型しかジェネリクスに使えず、プリミティブの取り回しに苦労します。 C++のテンプレートやRustのジェネリクスは型毎に実装を作るのでどんな型でも扱えますし、高速です。代わりに関数の数が増えてバイナリサイズが大きくなりがちです。 Swiftはその中間ようなアプローチを取っていました。 Swiftのジェネリクスの話を要約すると、 ジェネリクス関数には値型も全て参照になって渡される。ただし型のメタデータ(Metatype)を渡してゴニョゴニョして失われた型情報(Value Witness Ta
nettyのコミッターの人、appleに勤めてる有名人だから、swiftにあまり関係ないけど特別ゲスト的な感じでswiftのカンファレンスで登壇するのかと思いきや、こんなことやってた(コミット数1位)のか、なるほどーhttps://t.co/ZkRg8kn5A0 pic.twitter.com/yrZiuPiQcB— Kenji Yoshida (@xuwei_k) 2018年3月1日 おそらく日本初のSwift NIO記事ではないでしょうか?(どうでもいい) "雑に比較" とは、同じようなclass存在してるのを列挙してみる、などをするだけです。 作者同じなのだから、似ているの当たり前だし、そもそもswift NIOのNOTICEに以下のように書いてあります。 https://github.com/apple/swift-nio/blob/b81ae9a4b0087235880927cd
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く