Swift
実行環境 > swift --version swift-driver version: 1.90.11.1 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) Target: arm64-apple-macosx14.0 > xcodebuild -version Xcode 15.4 Build version 15F31d モチベーション コードを書いてい…
要約 今まで Task.yield() を積極的に使わなくても特に問題は無いと思っていたけど、以下の考えに落ち着いて積極的に使おうという考えに変わった。 Swift ConcurrencyではCPUコアと同数のスレッドが作成される タスクが完了するか、 Task.yield() を使ってス…
実行環境 >swift --version swift-driver version: 1.90.11.1 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) Target: arm64-apple-macosx14.0 >xcodebuild -version Xcode 15.3 Build version 15E204a モチベーション まだまだSwift Con…
実行環境 >swift --version swift-driver version: 1.90.11.1 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) Target: arm64-apple-macosx14.0 >xcodebuild -version Xcode 15.3 Build version 15E204a モチベーション tokizuoh.hatenabl…
実行環境 >swift --version swift-driver version: 1.90.11.1 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) Target: arm64-apple-macosx14.0 >xcodebuild -version Xcode 15.3 Build version 15E204a モチベーション コードレビューを…
モチベーション 以前『Xcode 15 で swift run が遅い』というタイトルで登壇したが、今日Xcode 15.2がリリースされたので様子を見た。 speakerdeck.com というのも、Xcode 15ではswift runの内部で(おそらくbetaの名残で)visionOSのSDKを探す処理が入って…
この記事は はてなエンジニア Advent Calendar 2023 の19日目の記事です。昨日は id:onk さんによる『「キャッシュは麻薬」という標語からの脱却 - id:onk のはてなブログ』でした。普段よく使っている Apollo Client では頻繁に更新するデータに関しては更…
イベントURL yumemi.connpass.com 発表資料 speakerdeck.com 発表ネタ Xcode 15 同梱の Swift でインタプリタを作っていた時に、明らかに swift run が遅くて原因を探したことがきっかけ。 github.com たまたま Swift Forums を見ていたら同じような投稿があ…
開発環境 $ swift --version swift-driver version: 1.75.2 Apple Swift version 5.8 (swiftlang-5.8.0.124.2 clang-1403.0.22.11.100) Target: arm64-apple-macosx13.0 TL;DR Q: Swiftのstructでstatic propertyを使うメリットは? A: static propertyはイ…
開発環境 $ swift --version swift-driver version: 1.62.15 Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 clang-1400.0.29.51) Target: x86_64-apple-macosx13.0 モチベーション こんなコードを書くとコンパイラに怒られる。 // Type 'CustomColor' d…
開発環境 swift --version swift-driver version: 1.62.15 Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 clang-1400.0.29.51) Target: x86_64-apple-macosx13.0 モチベーション 日々の開発でSwiftのIUO(Implicitly Unwrapped Optional)を知らなかっ…
開発環境 > swift --version swift-driver version: 1.62.15 Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 clang-1400.0.29.51) Target: x86_64-apple-macosx13.0 モチベーション docs.swift.org Swift Book進めてる時に以下を試していた。 // コンパ…
Nuke 10->11のアップデートで詰まった。そこからPackage, Product, Moduleの区別が以前と比べてつくようになったので備忘録として残す。 モチベーション github.com Nuke 11.0でNukeUI*1がNukeに吸収され、UIImageView などのextensionがNukeExtensionsとい…
開発環境 > xcodebuild -version Xcode 14.0 Build version 14A5228q Xcodeはbetaだが本記事の内容はiOS16未満のAPIを使用。 本記事からXcode 14 beta 3。 モチベーション tokizuoh.hatenablog.com 先日Sequenceのformatted()を試した時にDateもformatted()…
開発環境 > xcodebuild -version Xcode 14.0 Build version 14A5229c Xcodeはbetaだが本記事の内容はiOS16未満のAPIを使用。 モチベーション Sequenceを読んでいたら知らないメソッドがあったので使ってみる。 ドキュメント formatted() | Apple Developer D…
2022/06/24追記: 参照しているcontainsが違った。本記事の最終段落に追記。 ドキュメント読んでたら気になったのでメモ。 開発環境 > swift --version swift-driver version: 1.55.1 Apple Swift version 5.7 (swiftlang-5.7.0.113.202 clang-1400.0.16.2) …
開発環境 > xcodebuild -version Xcode 13.3 Build version 13E113 モチベーション HealthKitが提供するAPIにSwift Concurrency対応のものが増えていたので使ってみる。 HKSampleQueryDescriptor iOS15.3以前では、HealthKitを使ってワークアウトを取得する…
少しでもSwift Concurrencyに慣れていきたい。 開発環境 > xcodebuild -version Xcode 13.3 Build version 13E113 モチベーション Swift Concurrencyを身体に覚えさせたい lines (URL) As a convenience, you can use Swift’s async-await syntax to asynchr…
本記事は下記記事を読めば理解できるので原文を読もう。 www.hackingwithswift.com 昼間、夜に読んで具体的な利用ケースが思い浮かばなかった。忘れそうなので記事に残す。 開発環境 > swift --version swift-driver version: 1.45.2 Apple Swift version 5.…
開発環境 > xcodebuild -version Xcode 13.3 Build version 13E113 モチベーション Swift Concurrencyに入門したい とりあえず個人開発中のサイクリングログViewerアプリ(tokizuoh/contrail)で実験 iOS15で追加されたHealthKitのrequestAuthorization iOS1…
結論 HealthKit経由で取得したワークアウト(HKWorkout) から時速を取得するには、 totalDistance(HKQuantity) と duration(TimeInterval) を使って算出する必要がある。 let distance = workout.totalDistance!.kilometers() let averageSpeed = distance …
使ったことがないAPIはミニマムですぐ書く! 開発環境 > xcodebuild -version Xcode 13.3 Build version 13E113 モチベーション instantiateViewController(identifier:creator:) を使ったことがないので使ってみたい instantiateViewController(identifier:…
本記事は下記を参考にしています。 developer.apple.com 開発環境 > xcodebuild -version Xcode 13.1 Build version 13A1030d Core Data とは Persist or cache data on a single device, or sync data to multiple devices with CloudKit. https://develope…
本記事は下記を参考にしています。 blog.studysapuri.jp 前々からやりたかったSwiftUIとCombineを組み合わせた実装をやってみる! 開発環境 > xcodebuild -version Xcode 13.1 Build version 13A1030d 作ったもの 2.5秒ごとに [1, 2, 3, 4, 5] をシャッフル…
nextpublishing.jp 第2章 SubscribeとSubscription import Combine let subject = PassthroughSubject<String, Never>() final class Receiver { let subscription: AnyCancellable init () { subscription = subject .sink { value in print("received:", value) } } } let</string,>…
本記事は下記を参考にしています。 nextpublishing.jp 結論 そういう仕様。 This method creates the subscriber and immediately requests an unlimited number of values, prior to returning the subscriber. The return value should be held, otherwise…
nextpublishing.jp 上記を読んでいる時にNumberFormatterが出てきた。 使ったことがなかったので試す。 開発環境 > swift --version swift-driver version: 1.26.9 Apple Swift version 5.5.1 (swiftlang-1300.0.31.4 clang-1300.0.29.6) Target: x86_64-app…