タグ

swiftに関するjumpersonのブックマーク (54)

  • UICollectionView の Layout で悩んだら - クックパッド開発者ブログ

    こんにちは、サービス開発部の氏です。 主にiOSのクックパッドアプリの開発を担当しています。 UICollectionViewLayout みなさん使ってますか? UICollectionView でレイアウトを組む際、実際触り始めると実装するための選択肢が複数あり、どれが最適なのか悩ましい場面に遭遇する人もいるのではないかと思います。 今回は、自分が業務で触れた際に得た知見について軽くお話したいと思います。 UICollectionVIewLayout とは UICollectionView は Cellのサイズや余白等のレイアウトを管理するため、プロパティとして、 UICollectionViewLayout を所持しています。 この UICollectionViewLayout に手をいれることによって、レイアウトを好きな形に変更することができます。 レイアウトを組み立てるときの複数

    UICollectionView の Layout で悩んだら - クックパッド開発者ブログ
    jumperson
    jumperson 2018/05/24
    UICollectionViewの余白やサイズ調整の方法がまとまっていてわかりやすい。複数の選択肢があるので最適なものを選びたい
  • Swift 4.2 で追加される @dynamicMemberLookup メモ(SE-0195) - ペンギン村 Tech Blog

    全地球100億人のSwifterな皆さん、コンバトラーっ! tobi462 でーっす! え、いつもとノリが違う?まぁ、そういう日もあるんじゃないでしょうか。 そんなわけで、前回・前々回と続き Swift 4.2 の記事です。 今回は、Swift 作者であるラトナーさんの Proposal (SE-0195) のようですよ。 Tl;Dr @dynamicMemberLookup struct AnimeCharacter { subscript(dynamicMember member: String) -> String { let properties = ["name": "阿良々木月火", "music": "白金ディスコ"] return properties[member, default: ""] } } character.name // => "阿良々木月火" charac

    Swift 4.2 で追加される @dynamicMemberLookup メモ(SE-0195) - ペンギン村 Tech Blog
    jumperson
    jumperson 2018/04/24
    dynamicMemberLookupについて。使い所は少なそう
  • 良い感じにログを収集するライブラリ、Puree-Swiftをリリースしました - クックパッド開発者ブログ

    こんにちは。技術部モバイル基盤グループの三木(@giginet)です。 クックパッドでは、Pureeと呼ばれるiOS/Android/ReactNative向けのログ収集ライブラリを公開しています。 モバイルアプリのログ収集ライブラリ「Puree」をリリースしました - クックパッド開発者ブログ ログ収集ライブラリ Puree の iOS 版をリリースしました - クックパッド開発者ブログ 最近、以前開発されていたPureeをpure Swiftで書き換え、OSSとして公開しました。 この記事では、新しくなったPureeをご紹介します。 概要 クックパッドでは全社的にAmazon Redshiftを中心としたデータ活用基盤を構築しています。 クックパッドのデータ活用基盤 - クックパッド開発者ブログ この仕組みを使い、公開している多くのモバイルアプリからも、1つのログ基盤にさまざまなログを

    良い感じにログを収集するライブラリ、Puree-Swiftをリリースしました - クックパッド開発者ブログ
    jumperson
    jumperson 2018/03/05
    gaとか使わずにロギングするには最低限の機能が実装された良いライブラリだと思う。使ってみたい。
  • Swift の struct の stored property は var にしよう - Qiita

    記事について この記事は potatotips#39 という勉強会で発表した内容を再掲したものです。スライドの画像と、喋った言葉を載せました。 以下スライド それではこれから、Swift の struct の stored property は var にしよう、というタイトルで発表します。 まずは自己紹介します。名前はおもちめたるといいます。いろんなプログラミング言語を書いてます。キータで時々記事を書いています。今日は Swift の発表に来ましたが、 Kotlin の記事が一番バズってるので Android の人のほうが知ってるかもしれません。 早速このコードを見てください。これはどちらも同じプロパティをもつ Cat の struct です。プロパティが var か let なのかが違います。どちらのコードにすべきでしょうか?このように迷ったことはないでしょうか。 この発表では、このよ

    Swift の struct の stored property は var にしよう - Qiita
    jumperson
    jumperson 2018/03/03
    structはvarで良いと思った。mutableが何故良くないかしっかりと理解しなければ。
  • try! Swift NYC 2017 レポート | CyberAgent Developers Blog

    こんにちは!AbemaTVでiOS、tvOSを開発している波戸(@dekatotoro)です。 9月のことですが、ニューヨークで開催されたtry! Swift NYCに参加してきました。 若干遅ればせながらですが、今回はそのレポートをお届けします。 What’s New in try! Swift NYC? try! Swift NYCは、iOSプログラミング言語であるSwiftのカンファレンスです。世界中のiOSエンジニアが集まり、それぞれの知見を共有するビッグイベントとなっています。 今回は、9月5日~6日の2日間で開催され、約20人のスピーカーが登壇しました。参加者は総勢約200人くらいでした。 ちなみに、AbemaTVからは @inamiy さんも登壇しており、  Swift 4 Codableというテーマで発表されました。 スライド try! Swift NYC Swift 4

    try! Swift NYC 2017 レポート | CyberAgent Developers Blog
    jumperson
    jumperson 2017/11/02
    try! Swift NYC 2017の参加レポート。NYCもTokyoと雰囲気似てそう。
  • Swiftでいい感じのViewModelを作るためのメモ - Qiita

    フォームに入力してボタンを押すと成功や失敗が起きるというiOS GUIから、RxSwiftを使ってデザインしたViewController用のバインディングクラスがどう振る舞うといいのか考えた (このapp自体はどうでもいいものだけれど) モチベーション 今まで書けてなかった部分のユニットテストを書きたい 非同期ストリーム(Observable)として検査できる ストリームから送られてきたデータによってUIが常に同じ結果に行き着くようにする とはいえプレゼンテーションの手続き部分のふるまいは保証できないけど 前提となる考え ViewModelはUIの世界から切り離された純粋なデータ UIView, Storyboard, UIViewController, ViewModel の責務は全部View(プレゼンテーション) ViewModelはViewなのでViewのデータを定義するだけ。業務

    Swiftでいい感じのViewModelを作るためのメモ - Qiita
    jumperson
    jumperson 2017/05/15
    良さそう。ただし、TableViewなどのCellは別の話。
  • Port to Android by modocache · Pull Request #1442 · apple/swift

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Port to Android by modocache · Pull Request #1442 · apple/swift
    jumperson
    jumperson 2017/05/01
    SwiftでAndroidで話題になったけど結局よくわからなかったやつ。
  • Swift4で何がかわりそうなのか - Qiita

    この記事は2017/04/15(土)のSwift Tweetsで発表した内容です。 Swift 4では何が変わるのか Swift4に関しては、Swift.orgやswift-evolutionで毎日情報が流れていますが、僕自身ちゃんとキャッチアップできていませんでした。今日は出来るだけリソースを提示しながらお話したいと思います。 Swift4が何を目指しているのかはここに記載されています。https://goo.gl/5XSu7M Swift4は今年2017年の下期のリリースを目標に開発が進んでいます。Swift4には2つ目標があります。一つはSwift3のソースコードの安定性の提供、もう一つは、標準ライブラリのABI安定性の提供です。 Swift 3のコードの安定性の向上 標準ライブラリのABIの安定化 この2つの目標達成のために、開発を2段階に分けています。 Stage 1 ソー​​ス

    Swift4で何がかわりそうなのか - Qiita
    jumperson
    jumperson 2017/04/17
    Swift4のまとめ。日本語で良い資料。
  • SwiftのOptionalのベストプラクティス - Qiita

    それでは、『SwiftのOptionalのベストプラクティス』というタイトルで発表します。 #swtws pic.twitter.com/OJfz2tk4sP — koher (@koher) 2017年4月15日 2 年程前、 Qiita に『SwiftのOptional型を極める』というタイトルで投稿をしました。内容は、 Optional とは何かという説明と、 Optional の使い方を合わせたものでした。 しかし、 Swift 1 だった当時と比べると Optional 周りの状況は大きく変わり、特に使い方の部分が適切ではなくなってきました。また、僕のSwift経験値もたまって、新たな知見も蓄積されてきました。 今回の投稿では、 Swift の Optional 周りを整理し、いつ・どのように Optional を使うべきか、僕の考えるベストプラクティスを紹介します。 全体を通し

    SwiftのOptionalのベストプラクティス - Qiita
    jumperson
    jumperson 2017/04/17
    swift,optioanlの使いどころと使い方について。"一般的なアプリでは、バグらないように正しく振る舞う責務はユーザーにはありません。しかし、このスクリプトではその責務をユーザーに負わせているわけです。"これはいい
  • Swift.org - Swift 4 Release Process

    Ted Kremenek is a member of the Swift Core Team and manages the Languages and Runtimes group at Apple. This post describes the goals, release process, and estimated schedule for Swift 4. Swift 4 is a major release that is intended to be completed in the fall of 2017. It pivots around providing source stability for Swift 3 code while implementing essential feature work needed to achieve binary stab

    jumperson
    jumperson 2017/04/14
    Swift4CompilerでSwift3もCompile出来る感じなのね。
  • APIKitでRequestのイニシャライザに渡すのはValueObjectやEntityじゃないほうが良い - Qiita

    はじめに iOSアプリ開発のために、APIKit(もしくはインターフェースをAPIKitふうにしたもの)を利用していると、コードレビューの際に他人の使い方を見ることがあって、そういうときにAPIKitの使い方について人に指摘することがあったのでそれを書いておく。 Requestのイニシャライザに渡すのはValueObjectやEntityじゃないほうがいい APIKitのようなやり方の良さの一つとして、リクエストとレスポンスが何らかのWebAPIドキュメントと見比べたときに明確さがあるということだと思う。 それで大抵の場合、必要なパラメータをイニシャライザで渡すことになるけど、そのイニシャライザでは自作のValueObjectやEntityを渡すのではなく、StringやBool, NSNumberなんかのほうがいいですよという話。 (記事のコメント欄から、自作のValueObjectや

    APIKitでRequestのイニシャライザに渡すのはValueObjectやEntityじゃないほうが良い - Qiita
    jumperson
    jumperson 2017/04/14
    プログラムアーキテクチャのレイアをきちんと分けようって話と、仕様書とのトレーサビリティをあげようって話かな。
  • 今日こそ理解するHot / Cold @社内RxSwift勉強会

    新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?naoki koyama

    今日こそ理解するHot / Cold @社内RxSwift勉強会
    jumperson
    jumperson 2017/02/23
    HotとColdの違いが非常にわかりやすかった。
  • トクバイ新アプリとSwiftと

    新規アプリ開発における設計事例と実例

    トクバイ新アプリとSwiftと
    jumperson
    jumperson 2017/01/23
    RxSwift、MVVMでアプリ作った話。
  • Swiftプロジェクトのビルド時間を計測・改善するxcprofilerを作った話 - クックパッド開発者ブログ

    技術部モバイル基盤グループの@giginetです。 我々のチームでは、iOS/Androidアプリの認証、決済、ロギングと言った基幹部分の開発のほか、各事業部のモバイルエンジニアの開発効率を上げるための業務改善を日々行っています。 その一環として、さまざまなモバイル開発上の指標を収集・監視し、問題の発見や、施策への効果計測に利用できるようにしています。 例として、iOS/AndroidのCIの実行時間や、開発期間中のissueの量の変化、コード全体のSwift対応率などがあります。 収集したデータは、オープンソースのデータビジュアライゼーションツールであるGrafana上にダッシュボードを作成し、監視しています。 この記事では、iOS版クックパッドアプリでビルド時間を計測、改善をした事例についてご紹介します。 コマンドごとの実行時間の計測 まず、CIサーバーで実行されている各Shellコマ

    Swiftプロジェクトのビルド時間を計測・改善するxcprofilerを作った話 - クックパッド開発者ブログ
    jumperson
    jumperson 2017/01/05
    Swiftメソッド単位のビルド時間をいい感じに可視化するライブラリ。是非導入したい。
  • Swift 3.1のリリースプロセスおよびそれに含まれる変更内容の紹介(前編)

    Swift 3.1のリリースが2017年春に迫ってきた。今回は前後編に分けて、そのリリースプロセスや変更内容を解説する。前編ではリリースプロセス/互換性/開発版のSwiftを利用する方法を取り上げる。 ← 前回 連載 INDEX 次回 → 現時点でのSwiftの正式最新版は3.0.2であり、着々と次期バージョンの開発が進んでいる。また、2016年12月9日にSwift 3.1のリリースプロセスの公式アナウンスもあった。今回は現在進行しているSwiftの開発状況、およびSwift 3.1に含まれる変更内容などを紹介していく。 Swift 3.1 Release Processの紹介 2016年12月9日に「Swift 3.1 Release Process」というSwift 3.1リリースプロセスの公式アナウンスがあったので紹介する。 Swift 3.1のリリース予定時期 Swift 3.1

    jumperson
    jumperson 2016/12/28
    後編も含めSwift3.1の状況が非常にわかりやすく紹介されている。
  • 有名ライブラリに学ぶSwift実践テクニック - Qiita

    以前こちらの記事で、Alamofireを読んでいて気づいたSwiftの便利な書き方についてご紹介しました。 Alamofireから学ぶSwift実践テクニック 今回は他のライブラリから、気になった書き方をご紹介したいと思います。 追加可能なenumのように使えるstaticプロパティ ライブラリ名 SwiftyUserDefaults 内容 SwiftyUserDefaultsはUserDefaultsを便利に使うためのライブラリです。 キーの定義とsubscript引数の入れ方に特徴があります。 extension DefaultsKeys { static let username = DefaultsKey<String?>("username") static let launchCount = DefaultsKey<Int>("launchCount") } let usern

    有名ライブラリに学ぶSwift実践テクニック - Qiita
    jumperson
    jumperson 2016/12/16
    Swiftの機能を使ったちょっといかした書き方。
  • Swift 3 の private と fileprivate - cockscomblog?

    おはようございます。バットマンです。PlayStation VR でバットマン:アーカム VRを遊んだところ、現実とゲームの区別がつかなくなりました。ヘッドセットを外した後も、手がオブジェクトにめり込むんじゃないかと錯覚するようになった。 ところで Swift ピープルの皆さんも、最近はプロジェクトSwift 3 にマイグレーションしたりして暮らしていらっしゃることかと思います。御多分に洩れず、僕もマイグレーションして暮らしています。いろいろコツも掴めてきたところではありますが、それはともかく、private と fileprivate について割り切れないものを感じている昨今です。 private と fileprivate SE-0025 Scoped Access Level で Swift 3 に導入された private と fileprivate は、Swift 2 までの

    Swift 3 の private と fileprivate - cockscomblog?
    jumperson
    jumperson 2016/11/27
    最近Swift 3書き始めている けど、extension多様するのでprivate使う機会ほぼない。
  • 健康的なMVVM 書いてますか? ~MVVMアンチパターン集~

    Health Swift Meetup (http://finc-swift.connpass.com/event/29901/) の発表資料です。

    健康的なMVVM 書いてますか? ~MVVMアンチパターン集~
    jumperson
    jumperson 2016/11/03
    Swift-iOS開発MVVMのアンチパターンと正しい実装。
  • RxSwiftをつかってMVVMアーキテクチャを実装する | Tech Blog - リクルート住まいカンパニー

    こんにちは!今年度4月に入社した、SUUMOスマホサイト開発チームの沼田です。 入社してからはSUUMOスマホサイトで Infrastructure as Codeこんにちは!今年度4月に入社した、SUUMOスマホサイト開発チームの沼田です。 入社してからはSUUMOスマホサイトで Infrastructure as Code を実践したり、DevOpsの基盤を整備しているのですが、最近社内でRxSwiftを布教する機会があったので、その際につくった サンプルプロジェクト を使って、RxSwiftとMVVMアーキテクチャを簡単に解説します。 実際に動くコードあるので、コードベースで解説していきたいと思います。Xcodeで⌘+click や option+clickをつかいながらコードを読むのも良いと思います。 サンプル: https://github.com/takuwan0405/R

    jumperson
    jumperson 2016/11/03
    iOS開発でMVVM、Rx、Databinding使って実装するサンプル。
  • SwiftでもMinimal Cake Pattern - Qiita

    はじめに Minimal Cake Pattern1とは、株式会社ドワンゴの一部で採用されているDI(Dependency Injection)の手法である。このMinimal Cake Patternは主にScalaで行われている手法であるが、この記事ではこの手法をSwiftに移植することを目指す。 この記事で紹介したソースコードは次のリポジトリに置かれている。 もしこの記事を読んで、疑問や改善するべき点を見つけた場合は、気軽にコメントなどで指摘して欲しい。 Minimal Cake Patternとは? こちらの記事に詳細な解説があるので、まずはこちらを読んでいただきたいが、DIについての知識がある場合は飛ばしてもよい。 Scalaにおける最適なDependency Injectionの方法を考察する 〜なぜドワンゴアカウントシステムの生産性は高いのか〜 SwiftによるMinimal

    SwiftでもMinimal Cake Pattern - Qiita
    jumperson
    jumperson 2016/09/22
    constructor injectionをごりごり使っていたけどこっちの方が筋が良さそう。